025fa355d2
Improve loop for Turtle#update
2023-03-03 14:09:46 +01:00
f19f485e3f
Enable Sentry Relay for errors
2023-03-03 13:22:30 +01:00
8bcfcd62b8
Handle Buffer overflows from Python environments
...
Related to CODEOCEAN-JE
2023-02-28 17:03:59 +01:00
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
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
6c1bfb6815
Fix showSpinner for reset action
2023-02-28 11:35:17 +01:00
65d67cdeec
Check for intervention modal visibility before displaying it
2023-02-28 01:13:10 +01:00
2b4de30189
Manually hide tooltip in editor after pressing some buttons
2023-02-28 00:53:15 +01:00
ccbd74b4c7
Editor: Fix tooltip when submit is no longer possible
2023-02-28 00:53:15 +01:00
5ed8f7c812
Remove tooltip from stop execution button
2023-02-28 00:52:02 +01:00
18e48d9f45
Editor: Fix tooltip on RfC button
2023-02-28 00:52:02 +01:00
5c98ec74f0
Add legal links to Help modal
2023-02-24 19:55:23 +01:00
f232ff634b
Fix help modal not opening
...
The changed data attribute is required since updating to Bootstrap v5
2023-02-24 19:55:23 +01:00
d6c95dd383
Default to first page for RfC pages
2023-02-22 00:05:33 +01:00
2e825f2413
Fix pagination for RfCs
2023-02-21 23:44:34 +01:00
7fe0fc02e2
Set Sentry context for RailsAdmin
2023-02-21 11:35:29 +01:00
af843231d9
Add user details to RemoteEvaluationsController
2023-02-21 10:45:00 +01:00
ddf041ac05
Check RfC visibility before redirecting users
2023-02-21 10:01:01 +01:00
d03f2c7bf4
Slightly improve Statistics Controller performance
2023-02-21 01:27:32 +01:00
d0b713ddcd
Dramatically improve RfC query
...
While the code gets more complex, the new query will first filter all relevant RfCs and only use the `with_last_activity` scope for the current page.
Using `distinct` in the policy is not required (no duplicated RfCs), but causes issues for the ordering otherwise. Therefore, it is removed.
Fixes CODEOCEAN-J2
2023-02-21 01:27:32 +01:00
34c387c6a1
Remove outdated methods from RequestForCommentPolicy
2023-02-20 23:47:06 +01:00
d0717fb178
Reduce SQL queries for RfC index actions
...
By using includes and carefully selecting objects through references, all required objects are only queried once.
2023-02-20 23:47:06 +01:00
76f592c88d
Consider RfC visibility to view / change RfCs
2023-02-20 23:47:06 +01:00
9c3392b324
Add consumer-based RfC Visibility settings
...
This setting will be useful to increase data protection, where users might not be allowed to see RfCs from other contexts.
2023-02-20 23:47:06 +01:00
40c7a50834
Directly use ActiveRecord object instead of ID
...
This change will improve the performance by reducing unnecessary SELECT queries.
2023-02-18 19:28:26 +01:00
6465404ebe
Set sentry context after logging in
2023-02-18 19:27:46 +01:00
9c3ec3c7ff
Refactor submission scoring and testing
...
* Properly cancel code execution if running is prohibited
* Correctly monitor duration with Sentry
* Align methods with running submissions
2023-02-17 18:13:48 +01:00
a1ec4579fe
Properly cancel code execution if running is prohibited
2023-02-17 18:13:48 +01:00
e632f95060
Prevent storing empty results
...
Fixes CODEOCEAN-HS
2023-02-17 18:13:48 +01:00
326b5fce51
Allow assigning tips during exercise create
...
Fixes CODEOCEAN-H6
2023-02-16 11:23:52 +01:00
e9cf79085a
Refactor listing files to be independent of exiting runners
...
Previously, we were always fetching files, even if not required (e.g., for score runs). Now, we reduce the number of file listings and use a dedicated callback.
2023-02-16 10:50:01 +01:00
e96eda69d7
Bulk insert LinterCheckRuns
...
Similar to TestrunMessages, we insert all linter check runs through a bulk operation, potentially reducing time.
2023-02-16 10:50:01 +01:00
b375aed543
Bulk insert TestrunMessages
...
With Sentry, we identified that all TestrunMessages are created one-by-one (besides passing them all in an array to #create!). Therefore, we now do the validations on our own first and then store all once, dramatically reducing the required time.
Fixes CODEOCEAN-HP
2023-02-16 10:50:01 +01:00
91c2e14fe8
Fix error handling during Runner::Connection close
...
Closes CODEOCEAN-HQ
2023-02-16 10:47:28 +01:00
596a04b9da
Handle ReadTimeouts for LTI consumer properly
2023-02-16 10:12:05 +01:00
99372464aa
Lock "sudo" switch for shell with root environments
2023-02-11 00:44:47 +01:00
90d713a1d4
fix (potential) problems with empty file_extensions
2023-02-09 18:42:24 +01:00
637f872f34
add file_extension validation for file_type
2023-02-09 18:42:24 +01:00
454b34275c
fix file_type selection for Makefile
2023-02-09 18:42:24 +01:00
04504973ba
Adjust Sentry's user context
2023-02-03 00:16:52 +01:00
e8983a28d9
Fix generated URLs for native files in subdirectories
...
Our handling of uploaded files (see FilesController#show_protected_upload) checks for the full file name including the file path. However, URLs generated by CarrierWave didn't contain any path information resulting in invalid URLs. The wrong behavior was only visible when serving native files was disabled in Rails (or by using the x_sendfile_header).
2023-01-20 23:53:17 +01:00
234a4fe02b
Deny /implement without execution environment
...
Also, fix a smaller typo in the locales
2023-01-20 23:53:08 +01:00
2679f5fa56
Allow random selection for ProxyExercise
2023-01-20 21:02:20 +01:00
873fefdd9e
Use relative import paths for SCSS node modules
2023-01-14 11:32:57 +01:00
fcc6d69982
Fix percentage value display for remote score
2023-01-12 18:50:50 +01:00
87771b905a
Fix rubocop offenses
2023-01-11 23:57:29 +01:00
5d02251cbb
Replace BooleanPresenceValidator with InclusionValidator
...
The `BooleanPresenceValidator` is causing issues with Ruby 3.2+ YJIT irregularly.
Fixes CODEOCEAN-GQ, fixes CODEOCEAN-GR
2023-01-08 14:10:14 +01:00
922ba5df4e
Fix rubocop offenses
2023-01-02 10:06:00 +01:00
6a942ccf50
Capture exception for Scoring
...
Previously, an exception was caused by the tubesock gem but not sent to Sentry. This caused errors not to bubble up correctly but rather kill the current thread, leaving the user with a generic "WebSocket connection not established" message.
Probably, this should be removed when updating the WebSocket implementation.
2022-12-23 13:04:34 +01:00
7cd61acbce
I18n: Automatically choose locale through HTTP header
2022-12-20 10:26:32 +01:00