766 Commits

Author SHA1 Message Date
3895537f4f concise names for docker containers and links 2024-07-16 14:54:56 -04:00
ca84202168 Dockerfile and Docker compose 2024-07-16 14:03:13 +02:00
fea8b5d6f6 Migrate RailsAdmin assets to Shakapacker
Resolves an issue with a strict CSP disabling inline `data` images. With Shakapacker and our current webpack config, we extract inline `data` images to dedicated files, thus resolving the issue.
2024-06-17 15:25:21 +02:00
894ecf9d8c Fix missing translation for invalid parenthesis in multi-line statement
Fixes CODEOCEAN-12N
2024-06-17 14:43:43 +02:00
65416934ea Explicitly specify depend_on relationship between assets and config 2024-05-21 21:56:31 +02:00
8c506cd47c Add AuthenticationToken to UserMailer.exercise_anomaly_detected 2024-05-21 20:10:00 +02:00
0a379721a1 Add AuthenticationToken to UserMailer.exercise_anomaly_needs_feedback 2024-05-21 20:10:00 +02:00
90bcdcfb7e Fix missing comma in German locale 2024-05-21 19:56:58 +02:00
d68b91daa0 Fix double spaces in locales 2024-05-21 19:56:58 +02:00
707f249ef0 Fix formal language in German 2024-05-21 19:56:58 +02:00
ed69da10da Prefer gender-neutral language for German 2024-05-21 19:56:58 +02:00
f8330b39fb Replace manual activerecord translations with helpers 2024-05-21 19:42:26 +02:00
e551c8a699 Reorder translations and add missing prefixes
- files should be prefixed with code_ocean/
- the markdown editor is part of the application (helper)
2024-05-21 19:42:26 +02:00
1589c9472b Fix missing and unused i18n translations 2024-05-21 19:42:26 +02:00
f6041af4c3 Add i18n-tasks with adapted config from CodeHarbor 2024-05-21 19:42:26 +02:00
09fe592714 Migrate shakapacker from 7.2.3 to 8.0.0
Bumps [shakapacker](https://github.com/shakacode/shakapacker) from 7.2.3 to 8.0.0.
- [Changelog](https://github.com/shakacode/shakapacker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shakacode/shakapacker/compare/v7.2.3...v8.0.0)

---
updated-dependencies:
- dependency-name: shakapacker
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-21 14:06:06 +02:00
11f1845436 CSP: Explicitly add child_src for older browsers 2024-04-26 20:17:07 +02:00
545dcd0b92 Adapt CSP for new ToastUi editor
See #2242
2024-04-26 13:37:25 +02:00
b37e1b19c3 Update Content Security Policy and enable Sandbox
- Add new directives
- Remove deprecated options
- Enable Sandbox
2024-04-26 13:37:25 +02:00
1e30f18e87 Update Permissions Policy to include latest additions
Further, we remove an outdated comment on the `speaker` directive, that was removed some time ago (and is deprecated).
2024-04-26 13:37:25 +02:00
6c06db8b9c Extract Bootstrap's inline SVGs to actual resources
Previously, we were required to allow `data:` URLs for img-src in our CSP, since Bootstrap icons were delivered through this mechanism.
2024-04-26 13:37:25 +02:00
749074fec0 Add functionality to expand the markdown editor
The editor will now have a default height of 300px but a button will let
the user expand the editor. It will expand it to fit all content (or up
to 400px if the content was not exceeding 300px). In the expanded mode
the editor will keep growing as the user types more content.
2024-04-26 13:31:49 +02:00
96f5f1f8d7 Enforce valid lis_outcome_service_url
Recently, a new institution joined CodeOcean and used a relative URL. This won't work, so that we are rejecting non-absolute URLs by now.
2024-04-26 10:21:53 +02:00
7cc4fb00c6 RfCs: Allow filtering for any states
We want to differentiate between those RfCs explicitly marked as solved, those potentially solved since the author reached the maximum score, and those being unsolved where the author has not yet reached the full score yet.
2024-04-24 12:18:47 +02:00
a6f252b9da Shakapacker Dev: Use no-store to prevent caching at all 2024-04-05 16:00:35 +02:00
7d3dd4d024 Bump webpack-dev-server from 4.15.1 to 5.0.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.15.1 to 5.0.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.15.1...v5.0.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 13:59:10 +01:00
790186a1a1 Resolve Tubesock deprecation warnings 2024-02-26 14:34:42 +01:00
7a1330323c Fix Sorcery conflict for redirect_back_or_to
See https://github.com/Sorcery/sorcery/issues/296
2024-01-19 11:06:40 +01:00
17dd8b1267 Change syntax for routes with filename
Previously, the filename was URL-encoded, thus each / was replaced with %2F. This caused issues with some Apache2 configuration, smartly mingling with the URL to either encode it a second time (resulting in %252F) or decoding it (generating a real /). However, for authenticated file downloads with the JWT, we hardly require a byte-by-byte matching. With these changes, the URL parameter is no longer URL-encoded, so that Apache2 won't break our implementation any longer.

Further, we use this opportunity to get rid of the unnecessary .json extension for those filename routes, simplifying the routes generated and doing some further cleanup.
2024-01-19 11:06:40 +01:00
f0c34bab5a Keep trailing whitespaces in Ransack searches 2024-01-16 21:31:48 +01:00
dd6b25088a German: Use gender-neutral language for roles 2023-12-08 20:28:51 +01:00
ef89b20986 Improve explanation for hidden feedback messages in tests 2023-12-08 20:25:02 +01:00
ae75d1ea3a Disable sub-access to exercises from external user 2023-12-05 21:02:10 +01:00
5ddc5a8ca5 Redirect users after sign in to their desired page 2023-12-01 00:06:31 +01:00
68a0ae3248 Remove temporary monkey patch for Mnemosyne 2023-11-28 18:13:31 +01:00
1fb5e45202 Monkey Patch Mnemosyne until Rails 7.1 support landed
See https://github.com/mnemosyne-mon/mnemosyne-ruby/pull/70
2023-11-24 16:28:53 +01:00
e9f099d59f Properly nest UserExerciseFeedback
Fixes CODEOCEAN-108
2023-11-23 14:42:10 +01:00
fe26378387 Extract ScoringChecks and rework RemoteEvaluations 2023-11-23 14:42:10 +01:00
175c8933f3 Automatically submit LTI grade on each score run
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights.

For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability.

As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
2023-11-23 14:42:10 +01:00
f733ee580a Shakapacker: Additionally watch the generated locales 2023-11-23 14:42:10 +01:00
4e3b66ff76 Remove monkey patch for Slim with Rails 7.1 2023-11-11 20:43:52 +01:00
87908c7bd1 Switch to actioncable-enhanced-postgresql-adapter
This change will store large events (larger than 8KB) for ActionCable in the database. Therefore, it resolves issues where the payload was previously too large.

Fixes #1920
Fixes CODEOCEAN-Y8
Fixes CODEOCEAN-WS
2023-11-04 18:46:32 +01:00
f70a73c9a2 Puma: Disable automatic reforking 2023-11-02 17:30:42 +01:00
2fb18e594e Configure mailer previews 2023-11-01 19:41:16 +01:00
8fc5123bae Exclusively lock Runners during code executions
Previously, the same runner could be used multiple times with different submissions simultaneously. This, however, yielded errors, for example when one submission time oud (causing the running to be deleted) while another submission was still executed.

Admin actions, such as the shell, can be still executed regardless of any other code execution.

Fixes CODEOCEAN-HG
Fixes openHPI/poseidon#423
2023-10-31 12:35:24 +01:00
7e66ed1c36 Disable Gravatar in Rails Admin 2023-10-29 15:30:54 +01:00
28d9e38fe5 Upgrade to Rails 7.1 and apply new framework defaults
* Remove deprecated options from environments
* Remove deprecation warnings for upcoming Rails 7.2
* Dump schema with new defaults
* Remove outdated (and erroneous) data attribute in view
* Resolve a `NoMethodError` for seeds_spec.rb
2023-10-27 16:50:27 +02:00
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
79ce069f68 Add CRUD operations for Programming Groups
* Correct sorting in table
* Modify page when nested in exercises
* Fix links between pages
* Link from statistics page to programming_groups/index
* Link from submission page to programming_groups/<id>
* Allow filtering for exercise ID on ProgrammingGroup#index
* Add search fields for internal and external user id on pg/index
2023-10-23 18:17:42 +02:00
5bbc94f1d1 Remove info about study & link to feedback page 2023-10-22 12:07:41 +02:00