Commit Graph

2470 Commits

Author SHA1 Message Date
a93ae6117a Ignore missing screen for TurtlebatchCommand
Fixes CODEOCEAN-FRONTEND-47
2023-09-26 00:25:19 +02:00
e638e32435 Reduce SQL queries in the RfC controller
Fixes CODEOCEAN-Y5
2023-09-26 00:09:21 +02:00
684639696d Reduce SQL queries in the study groups controller
Fixes CODEOCEAN-Y7
2023-09-25 22:15:27 +02:00
ce53ef641e Add custom redirect to LimeSurvey through LTI 2023-09-25 18:17:52 +02:00
0e387ffda2 Add association for Comments and RequestForComments
For the submission and comments, I mainly decided to use a `has_one` association. Based on the database schema, multiple request for comments could be allowed (i.e., for each file or submission), but this won't happen practically (since we always create new submissions and files). Hence, the `has_one` association is representing our relationship better.
2023-09-25 18:17:52 +02:00
b9ac2e7fdf Adapt text for forced pair programming exercise 2023-09-25 17:29:40 +02:00
26ea69eba8 Require pair programming for a given set of exercises 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
47dd4cf4f7 Further check for programming group and add custom logging
Fixes CODEOCEAN-V2
2023-09-22 16:54:54 +02:00
40aa50f772 Fix Pair Programming status for automatically matched learners 2023-09-21 18:55:24 +02:00
bd1090be31 Store whether learners were manually invited to a programming group 2023-09-21 18:55:24 +02:00
dd78c18b87 Only identify users as working alone without an active programming group 2023-09-21 18:55:23 +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
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +02:00
8cfb9d22c1 Use Ruby interval for where query 2023-09-21 11:27:12 +02:00
b77c98b03f Add missing has_many associations for Users 2023-09-21 11:27:12 +02:00
06cde49901 Keep var for global ProgrammingGroups object
Otherwise, Turbolinks might cause some nasty redefinition errors.

Fixes CODEOCEAN-FRONTEND-3W
Fixes CODEOCEAN-FRONTEND-3X
2023-09-20 23:56:13 +02:00
69cc0f3c25 Retry storing LTI data on invalid record
We might receive a `RecordInvalid` error, if one part (such as the external user) is already assigned (not unique). Hence, we just retry.

Fixes CODEOCEAN-TZ
2023-09-20 23:53:35 +02:00
bd97c18a6c Add Sentry context for ActionCable 2023-09-20 23:45:12 +02:00
8d04eacd35 Check for active programming group and session ID before unsubscribing
Fixes CODEOCEAN-VJ
2023-09-20 23:45:12 +02:00
1bd0cd9a56 Require programming group for streaming the editor
Potentially fixes CODEOCEAN-V2
2023-09-20 23:31:54 +02:00
f49d1c6a7b Catch EOFError when sending LTI scores
Fixes CODEOCEAN-VN
Fixes CODEOCEAN-VP
2023-09-20 23:19:48 +02:00
937a0d7d4d Disallow learners from clicking any button while redirecting after submit
Fixes CODEOCEAN-FRONTEND-3M
2023-09-20 00:35:18 +02:00
9a6d590a80 Fix missing Sentry settings for JS initializer
Fixes CODEOCEAN-FRONTEND-2W
2023-09-20 00:35:18 +02:00
6f3b72d207 Fix missing Sentry span for WebSocket close
Fixes CODEOCEAN-FRONTEND-3C
2023-09-20 00:35:18 +02:00
2200fa427e Gracely handle missing editor_for_file
Fixes CODEOCEAN-FRONTEND-3H
2023-09-20 00:35:18 +02:00
d224a099e0 Return if editor is not defined
Fixes CODEOCEAN-FRONTEND-3A
2023-09-19 22:32:14 +02:00
51fc44c2da Allow empty lines for current_content event
Fixes CODEOCEAN-VR
2023-09-19 22:32:14 +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
1102db9f02 Fix wrong validation of main file count
Previously, we were always issuing a database query, so that only those files already stored in the database were counted.
2023-09-16 16:19:31 +02:00
49e3fa6176 Add events for current_content and connection_status 2023-09-13 17:50:19 +02:00
5ae306997b Remove pair programming session text from status bar 2023-09-13 17:50:19 +02:00
65bf7b6e98 Add user name to etherpad pp feedback 2023-09-13 17:50:19 +02:00
22bdb71ecc Fix message after subscription confirmation for Async adapter
Amends 2c46ad2c
2023-09-13 17:28:14 +02:00
07458f4e2a Fix incomplete Pair Programming Feedbacks 2023-09-13 09:59:31 +02:00
b8f8d9dc60 Fix large spacing for solo programmers on /implement 2023-09-13 04:36:16 +02:00
bea2e02fa5 Show Pair Programming modal for new Programming Groups 2023-09-13 04:33:31 +02:00
2c46ad2c25 Wait for subscription confirmation before broadcasting 2023-09-13 04:17:36 +02:00
410d2f79d3 Show link instead of Etherpad for new programming groups in Safari 2023-09-13 01:21:59 +02:00
60656443e2 Update ACE Editor to version 1.2.9
The new ACE editor introduces full support for emojis (and, thereby, UTF-16 characters with high- and low-surrogates). Hence, we can remove our custom fix.

Further, this update will allow emojis to be used in pair programming sessions.
2023-09-12 18:54:04 +02:00
13bd68d760 Fix consumer in page context of programming group 2023-09-12 18:48:59 +02:00
f37ba34389 Synchronize resetCode for pair programming 2023-09-12 18:47:06 +02:00
cc90861bd5 Generate Session ID on server for synchronized editor
This change allows us to use the session ID immediately for the connection_change and connection_status methods. Hence, we can identify different browser sessions of the same user.
2023-09-12 18:47:06 +02:00
914adeed42 Insert text written after last autosave in pp session 2023-09-12 18:47:06 +02:00
6e0dc9d7bc Replaces compareDeltaObjects with editor.curOp 2023-09-12 18:47:06 +02:00
735a74901f Update ACE Editor to version 1.2.0
Previously, we were at an ACE editor published between 1.1.8 and 1.1.9. This caused multiple issues and was especially a problem for the upcoming pair programming feature. Further, updating ace is a long-time priority, see https://github.com/openHPI/codeocean/issues/250.

Now, we are not yet updating to the latest version, but rather to the next minor version. This already contains breaking changes, and we are currently interested to keep the number of changes as low as possible. Further updating ACE might be still a future task.

The new ACE version 1.2.0 is taken from this tag: https://github.com/ajaxorg/ace-builds/releases/tag/v1.2.0.
We are using the src build (not minified, not in the noconflict version), since the same was used before as well.

Further, we need to change our migration for storing editor events. Since the table is not yet used (in production), we also update the enum.
2023-09-12 16:41:33 +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