Commit Graph

732 Commits

Author SHA1 Message Date
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
f9f6ab8570 Replace "Du" with "Sie" 2023-10-22 12:07:41 +02:00
26552a0682 Remove PairProgrammingExerciseFeedback
* Remove view, controller, routes & policy for PairProgrammingExerciseFeedback
* Keep model & database table
2023-10-22 12:07:41 +02:00
67f19516c3 Add internal title for exercise
The internal title is designed to provide an alternative title for teachers. It is not exposed to learners.
2023-10-14 00:30:32 +02:00
2156204be4 Allow details and summary tags in HTML
Those two tags can be used to add expandable content, for example, to an exercise description.
2023-10-14 00:28:45 +02:00
84f844c1c5 Fix undesired overwrite of default_src in CSP 2023-10-13 13:19:17 +02:00
3aeef7ebdd CSP: Refactor custom settings to ease further expansion
* This change is introduced due to a corresponding change in CodeHarbor to allow SSO there.
2023-10-13 13:19:03 +02:00
c232a418f4 CSP: Recognize ACE of using data: images 2023-10-13 00:14:38 +02:00
10a499484b Fix typo in English locales 2023-10-11 23:06:31 +02:00
99bd46af1a Align project files with CodeHarbor
Since both projects are developed together and by the same team, we also want to have the same code structure and utility methods available in both projects. Therefore, this commit changes many files, but without a functional change.
2023-10-11 00:18:33 +02:00
ce9dccc8f6 Puma: Explicitly disable preloading
Otherwise, setting WEB_CONCURRENCY would re-enable preloading.
2023-10-08 15:29:54 +02:00
4879c0172a CSP: Allow extending directives with 'none' 2023-10-08 13:46:32 +02:00
4653e93d13 Update Puma config to support phased restarts
Besides phased restarts, we also add further config options and configure the systemd integration (activated sockets, watchdog).
2023-10-08 12:26:05 +02:00
bebca01a88 Fix typo in German locale for runner exit status 2023-09-30 21:49:43 +02:00
b9ac2e7fdf Adapt text for forced pair programming exercise 2023-09-25 17:29:40 +02:00
e5678483cc Prevent duplicated 'pp_work_alone' events.
* Ensure only one `pp_work_alone` event is stored.
* Disable Turbolinks for Programming Groups Work Alone, so that the implement page is requested normally. Otherwise, Turbolinks would load the page first, just to notice that it needs to reload the page afterwards to include Highlight.js for the tips.
2023-09-23 20:45:49 +02:00
9f837412c7 Add waiting room to create programming groups (#1919)
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-21 15:07:10 +02:00
1bba4a006a Sentry: Check for span description before applying gsub! 2023-09-20 15:32:17 +02:00
d01a3b7bac Fix incorrect translation for "Check invitation" explanation
Amends 8a5dc7ab
2023-09-20 00:35:17 +02:00
8a5dc7abc0 Forward person when a programming group is created with them
Further, we remove the "check invitation" button and extract some methods to our new ProgrammingGroups object in JavaScript.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-19 20:14:33 +00:00
9848c900c3 Fix incorrect label and form association.
This change is required for a better accessibility compatibility.
2023-09-19 15:43:02 +02:00
652f3fefcb Transform data privacy link from locales to view
Amends #1899
2023-09-19 15:38:25 +02:00
7deea1ddac Fix invalid timestamps for breadcrumbs in Sentry
See https://github.com/getsentry/sentry-ruby/issues/1874
2023-09-19 11:17:17 +02:00
5ae306997b Remove pair programming session text from status bar 2023-09-13 17:50:19 +02:00
02de785f61 Change text for video chat button 2023-09-13 17:50:19 +02:00
70435a5d08 Disable concurrent ActionCable workers
Otherwise, the ACE events we receive might not be forwarded in the same order. For now, I am not aware of another mechanism to ensure the correct ordering, so that I decided to use this approach for now. Might need to be improved later.
2023-09-13 01:21:59 +02:00
410d2f79d3 Show link instead of Etherpad for new programming groups in Safari 2023-09-13 01:21:59 +02:00
914adeed42 Insert text written after last autosave in pp session 2023-09-12 18:47:06 +02:00
a7fa9b5b04 Improve layout for programming groups 2023-09-11 14:43:00 +02:00
5da871a0e9 Add info modal for pair programming 2023-09-11 14:43:00 +02:00
930d532fb6 Add third question in pp exercise feedback 2023-09-08 11:48:53 +02:00
c42fb8fc09 Fix typo in German feedback for pair programming 2023-09-08 11:48:53 +02:00
4b90a2a3c5 Add exercise feedback page for pair programming study 2023-09-05 22:56:51 +02:00
d1d5b0df6f Etherpad link for pair programming feedback 2023-09-05 22:56:51 +02:00
056a8e5107 Show if partner is online 2023-09-05 22:56:51 +02:00