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
5ed8f7c812
Remove tooltip from stop execution button
2023-02-28 00:52:02 +01:00
Sebastian Serth
18e48d9f45
Editor: Fix tooltip on RfC button
2023-02-28 00:52:02 +01:00
Sebastian Serth
5c98ec74f0
Add legal links to Help modal
2023-02-24 19:55:23 +01:00
Sebastian Serth
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
Sebastian Serth
d6c95dd383
Default to first page for RfC pages
2023-02-22 00:05:33 +01:00
Sebastian Serth
2e825f2413
Fix pagination for RfCs
2023-02-21 23:44:34 +01:00
Sebastian Serth
7fe0fc02e2
Set Sentry context for RailsAdmin
2023-02-21 11:35:29 +01:00
Sebastian Serth
af843231d9
Add user details to RemoteEvaluationsController
2023-02-21 10:45:00 +01:00
Sebastian Serth
ddf041ac05
Check RfC visibility before redirecting users
2023-02-21 10:01:01 +01:00
Sebastian Serth
d03f2c7bf4
Slightly improve Statistics Controller performance
2023-02-21 01:27:32 +01:00
Sebastian Serth
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
Sebastian Serth
34c387c6a1
Remove outdated methods from RequestForCommentPolicy
2023-02-20 23:47:06 +01:00
Sebastian Serth
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
Sebastian Serth
76f592c88d
Consider RfC visibility to view / change RfCs
2023-02-20 23:47:06 +01:00
Sebastian Serth
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
Sebastian Serth
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
Sebastian Serth
6465404ebe
Set sentry context after logging in
2023-02-18 19:27:46 +01:00
Sebastian Serth
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
Sebastian Serth
a1ec4579fe
Properly cancel code execution if running is prohibited
2023-02-17 18:13:48 +01:00
Sebastian Serth
e632f95060
Prevent storing empty results
...
Fixes CODEOCEAN-HS
2023-02-17 18:13:48 +01:00
Sebastian Serth
326b5fce51
Allow assigning tips during exercise create
...
Fixes CODEOCEAN-H6
2023-02-16 11:23:52 +01:00
Sebastian Serth
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
Sebastian Serth
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
Sebastian Serth
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
Sebastian Serth
91c2e14fe8
Fix error handling during Runner::Connection close
...
Closes CODEOCEAN-HQ
2023-02-16 10:47:28 +01:00
Sebastian Serth
596a04b9da
Handle ReadTimeouts for LTI consumer properly
2023-02-16 10:12:05 +01:00
Sebastian Serth
99372464aa
Lock "sudo" switch for shell with root environments
2023-02-11 00:44:47 +01:00
Karol
90d713a1d4
fix (potential) problems with empty file_extensions
2023-02-09 18:42:24 +01:00
Karol
637f872f34
add file_extension validation for file_type
2023-02-09 18:42:24 +01:00
Karol
454b34275c
fix file_type selection for Makefile
2023-02-09 18:42:24 +01:00
Sebastian Serth
04504973ba
Adjust Sentry's user context
2023-02-03 00:16:52 +01:00
Sebastian Serth
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
Sebastian Serth
234a4fe02b
Deny /implement without execution environment
...
Also, fix a smaller typo in the locales
2023-01-20 23:53:08 +01:00
Sebastian Serth
2679f5fa56
Allow random selection for ProxyExercise
2023-01-20 21:02:20 +01:00
Sebastian Serth
873fefdd9e
Use relative import paths for SCSS node modules
2023-01-14 11:32:57 +01:00
Sebastian Serth
fcc6d69982
Fix percentage value display for remote score
2023-01-12 18:50:50 +01:00
Sebastian Serth
87771b905a
Fix rubocop offenses
2023-01-11 23:57:29 +01:00
Sebastian Serth
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
Sebastian Serth
922ba5df4e
Fix rubocop offenses
2023-01-02 10:06:00 +01:00
Sebastian Serth
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
Sebastian Serth
7cd61acbce
I18n: Automatically choose locale through HTTP header
2022-12-20 10:26:32 +01:00
Sebastian Serth
8a6e0a8366
Catch empty files_json during conversion
2022-12-19 16:11:35 +01:00
Sebastian Serth
17356c3045
Allow redirect to main CodeOcean host
...
When a file cannot be retrieved any longer, we send a redirect to the previous locations. As we usually enable a different render host, Rails sees this redirect as a redirect to another host (from the render host to the main CodeOcean host).
2022-12-19 16:06:47 +01:00
Sebastian Serth
735f37d1dd
Fix import of lodash module
2022-12-19 15:17:32 +01:00
Sebastian Serth
7a2e442d91
Reject reference implementations only for Runs
2022-12-12 20:53:46 +01:00
Sebastian Serth
838019343e
ProFormA: Hide 'delayed' files by default
2022-12-08 10:57:36 +01:00
Sebastian Serth
bec235c8d6
Fix XML parsing with invalid LTI response
...
An invalid XML response may be returned if the LTI provider is unavailable and cannot handle our request. We decided against logging in Sentry as this affects a third party functionality we cannot fix ourselves.
Fixes CODEOCEAN-G2
2022-12-07 23:00:21 +01:00