Commit Graph

188 Commits

Author SHA1 Message Date
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
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
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
9f37034d0b Prevent multiple unsubscribe calls for ActionCable 2023-09-06 00:00:27 +02:00
kiragrammel
79422225a8 Add events for pair programming study 2023-09-05 22:56:51 +02:00
kiragrammel
056a8e5107 Show if partner is online 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
89afb599e4 Apply changes from team members in own editor 2023-08-26 00:38:58 +02:00
kiragrammel
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
Sebastian Serth
de5bbea4a8 Refactor RfC creation to prevent users from navigating 2023-08-17 00:25:51 +02:00
Sebastian Serth
71acb0cf3d Check for presence of RfC Modal before hiding
Fix CODEOCEAN-FRONTEND-E
2023-08-16 23:11:12 +02:00
Sebastian Serth
1d7fd98c79 Fix theme change if no file tree is shown 2023-08-01 16:33:45 +02:00
Sebastian Serth
3388a749f7 Fix score card border color 2023-08-01 16:24:13 +02:00
Sebastian Serth
944b455194 Introduce Dark Mode
This commit mainly changes the color definitions. Mostly, those changes are semantically equally, but there are a few changes that occurred to align the color scheme within the app.
2023-07-31 11:48:42 +02:00
Sebastian Serth
01f4f0c2cd Remove legacy CodePilot integration 2023-07-28 08:50:00 +02:00
Sebastian Serth
bf662ecb81 Remove legacy forum search and search buttons 2023-07-28 08:45:05 +02:00
Sebastian Serth
240fbc5a3b Add Sentry instrumentation for JavaScript 2023-05-09 22:10:40 +02:00
Sebastian Serth
20588e4910 Fix alignment of "No action" editor button 2023-04-25 20:25:10 +02:00
Sebastian Serth
a97b56f36f Allow removing all event handles in JavaScript
This is useful to remove any handlers, e.g., when submitting an exercise. Hopefully, we will see less Javascript errors due to cumbersome behavior with these changes...

Also, I am cleaning up unused event handlers. The `showOutput` method doesn't seem to be used, we should observe this in the future.

Closes CODEOCEAN-KQ
2023-04-02 18:15:24 +02:00
Sebastian Serth
d015e1536c Refactor tooltip for run button
Even though not reproducible locally, we had some errors captured through Sentry where the Tooltip was opened on the (already hidden) run button. This resulted in an error by the Bootstrap library. Most likely, the issue was caused by some race condition.

Fixes CODEOCEAN-BA
2023-03-14 19:19:06 +01:00
Sebastian Serth
8bcfcd62b8 Handle Buffer overflows from Python environments
Related to CODEOCEAN-JE
2023-02-28 17:03:59 +01:00
Sebastian Serth
2b11415dcd Delete UTF-16 characters completely in editor
Previously, removing an UTF-16 character (such as emojis) required pressing the backspace twice. This was caused by ACE only handling single UTF-8 characters.

Fixes CODEOCEAN-GC
2023-02-28 16:27:47 +01:00
Sebastian Serth
252704b083 Ensure to clear timeout in autosave
We are still trying to ensure autosave is not called outside the /implement route.

Relates to CODEOCEAN-G1
2023-02-28 12:31:22 +01:00
Sebastian Serth
6c1bfb6815 Fix showSpinner for reset action 2023-02-28 11:35:17 +01:00
Sebastian Serth
65d67cdeec Check for intervention modal visibility before displaying it 2023-02-28 01:13:10 +01:00
Sebastian Serth
2b4de30189 Manually hide tooltip in editor after pressing some buttons 2023-02-28 00:53:15 +01:00
Sebastian Serth
ccbd74b4c7 Editor: Fix tooltip when submit is no longer possible 2023-02-28 00:53:15 +01:00
Sebastian Serth
7aaeac03d6 Remove outdated error for used_defined_tests
Previously, a user-defined test (those run with "Test" instead of "Run") would cause a flash message and a Sentry error if anything was printed to StdErr. As this might happen during user code execution (and therefore is no error), we remove this warning. All existing errors are already caught (compare with enum status in testrun.rb), so it's fine for now.

Fixes CODEOCEAN-BT
2022-11-16 22:41:07 +01:00
Sebastian Serth
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
Sebastian Serth
9e1f2da02e Fallback to default height if editor offset cannot be determined
Fixes CODEOCEAN-B6, Fixes CODEOCEAN-E1, Fixes CODEOCEAN-BZ
2022-10-06 00:24:23 +02:00
Sebastian Serth
ac3dc8d30f Allow platform admins and internal users to switch their current study group 2022-09-22 19:24:26 +02:00
Sebastian Serth
dccc60b7ca Remove renderWebsocketOutput and use printWebsocketOutput instead
* The `render` command is not used much
* Originally added with commit 898074be3f
* The `#render` anchor (see findOrCreateRenderElement) was the "Render" button above the editor, nothing was rendered at all if executing code and otherwise it would be included _within_ the button.
2022-09-04 23:12:46 +02:00
Sebastian Serth
60dc8c3b7e Apply line-based coloring for output 2022-09-02 16:56:18 +02:00
Sebastian Serth
0b68f1309d Fix FontAwesome class after FA v6 upgrade 2022-08-15 23:25:24 +02:00
Sebastian Serth
afd7ded734 Fix display of score and error messages after Bootstrap update 2022-08-12 18:02:02 +02:00
Sebastian Serth
f38052d235 Allow fa-spin to spin, actually
When using `display: inline;`, many browsers won't rotate the icon.
2022-08-12 18:01:47 +02:00
Sebastian Serth
8a055a0d68 Update Bootstrap from v4 to v5 2022-08-12 11:45:32 +02:00
Sebastian Serth
b98c37ae64 Rename v4 FontAwesome icons to match v5/v6 name
While FontAwesome provides aliases for all icons, we switch to the new names for consistency. See all changes at:
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4#icons-renamed-since-version-4
2022-08-09 14:17:32 +02:00
Sebastian Serth
94891fa7f6 Always use full file path for CodeOceanEditor.active_file 2022-06-27 11:59:29 +02:00
Sebastian Serth
ac170e8fd7 Allow images in augmentStacktraceInOutput 2022-06-17 00:04:05 +02:00
Sebastian Serth
b364918cb6 Add link to Ralfs diss regarding interventions 2022-06-08 12:58:38 +02:00
Sebastian Serth
ea02dff0e5 Extend storage of Testrun Messages and truncate long output 2022-04-29 22:44:34 +02:00
Sebastian Serth
19bd742bc9 Show a localized message if the program was killed.
* This will most likely happen by the OOM killer, thus we inform the user about the memory restriction.
2022-04-15 21:29:55 +02:00
Sebastian Serth
9d9570b26b Update intervention locale and add explanation 2022-04-15 14:23:05 +02:00
Sebastian Serth
5f68baba75 Fix typo for TipsIntervention in JS 2022-04-06 19:51:28 +02:00