Commit Graph

2290 Commits

Author SHA1 Message Date
Sebastian Serth
652f3fefcb Transform data privacy link from locales to view
Amends #1899
2023-09-19 15:38:25 +02:00
Sebastian Serth
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
kiragrammel
49e3fa6176 Add events for current_content and connection_status 2023-09-13 17:50:19 +02:00
kiragrammel
5ae306997b Remove pair programming session text from status bar 2023-09-13 17:50:19 +02:00
kiragrammel
65bf7b6e98 Add user name to etherpad pp feedback 2023-09-13 17:50:19 +02:00
Sebastian Serth
22bdb71ecc Fix message after subscription confirmation for Async adapter
Amends 2c46ad2c
2023-09-13 17:28:14 +02:00
Sebastian Serth
07458f4e2a Fix incomplete Pair Programming Feedbacks 2023-09-13 09:59:31 +02:00
Sebastian Serth
b8f8d9dc60 Fix large spacing for solo programmers on /implement 2023-09-13 04:36:16 +02:00
Sebastian Serth
bea2e02fa5 Show Pair Programming modal for new Programming Groups 2023-09-13 04:33:31 +02:00
Sebastian Serth
2c46ad2c25 Wait for subscription confirmation before broadcasting 2023-09-13 04:17:36 +02:00
kiragrammel
410d2f79d3 Show link instead of Etherpad for new programming groups in Safari 2023-09-13 01:21:59 +02:00
Sebastian Serth
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
Sebastian Serth
13bd68d760 Fix consumer in page context of programming group 2023-09-12 18:48:59 +02:00
kiragrammel
f37ba34389 Synchronize resetCode for pair programming 2023-09-12 18:47:06 +02:00
Sebastian Serth
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
kiragrammel
914adeed42 Insert text written after last autosave in pp session 2023-09-12 18:47:06 +02:00
kiragrammel
6e0dc9d7bc Replaces compareDeltaObjects with editor.curOp 2023-09-12 18:47:06 +02:00
Sebastian Serth
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
kiragrammel
a7fa9b5b04 Improve layout for programming groups 2023-09-11 14:43:00 +02:00
kiragrammel
5da871a0e9 Add info modal for pair programming 2023-09-11 14:43:00 +02:00
kiragrammel
883169121c Provide current-contributor application-wide
* This change allows us to reuse the current user in multiple places.
2023-09-11 14:43:00 +02:00
Sebastian Serth
c29256aa81 Fix Rubocop offenses 2023-09-11 14:10:16 +02:00
Sebastian Serth
5f99e7ee54 Store Session ID for Event::SynchronizedEditor 2023-09-08 11:48:53 +02:00
kiragrammel
02e50e9921 Correct connection status if user used multiple windows 2023-09-08 11:48:53 +02:00
kiragrammel
930d532fb6 Add third question in pp exercise feedback 2023-09-08 11:48:53 +02:00
Sebastian Serth
b43441f85e Set lastDeltaObject per file
* This change will potentially resolve a race condition that could occur when the same change was simultaneously performed in two different files.
2023-09-08 11:48:53 +02:00
Sebastian Serth
f7c2fbebd6 Simplify comparison of delta objects 2023-09-08 11:48:53 +02:00
Sebastian Serth
5dd6df9418 Synchronized Editor: Store all events and allow multiple tabs
* This commit refactors the table used to store events.
* We also use a UUID as session identifier in the synchronized editor to support multiple concurrent tabs opened by the same user.
* Further, we renamed some methods to make them easier to distinguish.
2023-09-08 11:48:53 +02:00
Sebastian Serth
33aa0cecba Provide current-user application-wide
* This change allows us to reuse the current user in multiple places.
* Sentry still receives the same information as before.
2023-09-08 11:48:53 +02:00
Sebastian Serth
50a4707f65 Prevent duplicated WebSocket close for client_kill
Our investigation in CODEOCEAN-TV showed that we might attempt to close the WebSocket connection twice, if learners press the stop button. With this commit, we fix that issue.
2023-09-08 00:16:12 +02:00
Sebastian Serth
c6461f6bdd Only log runs not stopped by a client to Sentry 2023-09-08 00:05:50 +02:00
Sebastian Serth
6d6851a27a Check for Sentry span before appending header for WebSocket
Fix CODEOCEAN-FRONTEND-2X
2023-09-07 22:50:14 +02:00
Sebastian Serth
3ad946537b Log terminated_by_client to Sentry 2023-09-06 23:49:48 +02:00
Sebastian Serth
80b457a0c9 Add Sentry exception to Runner::Error in SubmissionsController 2023-09-06 23:05:56 +02:00
Sebastian Serth
8dd157e346 Only send LTI score for external users 2023-09-06 00:28:34 +02:00
Sebastian Serth
9f37034d0b Prevent multiple unsubscribe calls for ActionCable 2023-09-06 00:00:27 +02:00
kiragrammel
4b90a2a3c5 Add exercise feedback page for pair programming study 2023-09-05 22:56:51 +02:00
kiragrammel
79422225a8 Add events for pair programming study 2023-09-05 22:56:51 +02:00
kiragrammel
d1d5b0df6f Etherpad link for pair programming feedback 2023-09-05 22:56:51 +02:00
kiragrammel
056a8e5107 Show if partner is online 2023-09-05 22:56:51 +02:00
kiragrammel
97764bd02e Limit programming groups to two people
* adapt text on programming_groups/new site
* in German change from 'Sie' to 'du'
2023-09-05 22:56:51 +02:00
kiragrammel
0e4a239960 Unsubscribe from channel when redirecting
fixes CODEOCEAN-FRONTEND-2S
2023-09-05 22:56:51 +02:00
kiragrammel
23a95d315d Synchronized editor for multiple files 2023-09-05 22:56:51 +02:00
kiragrammel
7df37078f4 Add etherpad to exchange user IDs 2023-09-05 22:56:51 +02:00
kiragrammel
e3bf14efe1 Add button to start (video) chat with programming group 2023-09-05 22:56:50 +02:00
kiragrammel
0b42bba988 Assign users into A/B groups 2023-09-05 22:56:50 +02:00
kiragrammel
125215ea35 Show in statusbar on implement route if pair programming session 2023-09-05 19:41:52 +02:00
Sebastian Serth
f36f3cdc64 Rename user to contributor in exercise statistics
Fixes CODEOCEAN-TN
2023-09-05 18:44:20 +02:00
Sebastian Serth
4b3f5d152b Set study group for current user during LTI launch 2023-09-05 16:00:03 +02:00
Sebastian Serth
05a5a52c8e Require user for InternalUsersController
Fixes CODEOCEAN-TG
2023-09-01 22:18:03 +02:00