Sebastian Serth
e8a21ea319
Further optimize extracting errors
...
The previous solution worked, but always queried all ErrorTemplateAttributes, even if there was no match of the ErrorTemplate. This solution resolves this issue and still benefits from less SQL queries.
2023-03-21 07:34:31 +01:00
Sebastian Serth
7af7484f7a
Improve performance of the FlowrController
2023-03-20 23:52:55 +01:00
Sebastian Serth
09809cc12e
Preload error template attributes in SubmissionsController
...
The join operation is okay, since a similar one is otherwise performed automatically by Rails
2023-03-20 23:52:34 +01:00
Sebastian Serth
e3e6fc3af1
Add foreign keys and an index to StructuredError(Attributes)
...
These changes will ensure a better data consistency and faster access. We further ensure that records should be deleted properly.
2023-03-20 23:50:12 +01:00
Sebastian Serth
5a36e57b9f
Reuse ActiveRecord object after creating StructuredErrorAttributes
...
With these changes, the newly created StructuredError will have all StructuredErrorAttributes preloaded, thus speeding up further access to this association.
2023-03-20 23:43:53 +01:00
Sebastian Serth
bdcef4d183
Stop Code before redirecting after submit
...
Usually, this should not be needed, but users can first submit code and simultaneously request comments.
Fixes CODEOCEAN-KM
2023-03-20 14:02:20 +01:00
Sebastian Serth
6d3587e813
Rescue network-related issues in transmitting LTI scores
...
Fixes CODEOCEAN-JS
2023-03-15 13:05:46 +01:00
Sebastian Serth
a7cd85507e
Reduce SQL queries in the exercise controller
...
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
Sebastian Serth
236d4d59f2
Fix typo on view for error templates
2023-03-14 19:57:20 +01:00
Sebastian Serth
bb9e0d4825
Fix undefined error for Turtle update
...
Even though the error occurs not very frequent, we want to resolve it. Sentry identified that the former error still occurs and we try once more to fix it.
Fixes CODEOCEAN-JH
2023-03-14 19:31:51 +01: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
a99da79550
Disable sorttable on tables without rows
...
Otherwise, the first element of the table body is being fetched which might result in an error for empty tables.
Fixes CODEOCEAN-JZ
2023-03-14 18:27:38 +01:00
Sebastian Serth
1c5eb09138
Safely join new parameters when switching the language
...
Fixes CODEOCEAN-JY
2023-03-14 16:36:29 +01:00
Sebastian Serth
5ddad9e83d
Rescue network-related issues in transmitting LTI scores
...
Fixes CODEOCEAN-JT
2023-03-14 15:34:28 +01:00
Sebastian Serth
417ead3d3f
Reduce SQL queries to find a unsolved recommended RfC
...
Fixes CODEOCEAN-JQ
2023-03-14 13:56:23 +01:00
Sebastian Serth
939b31967f
Reduce SQL queries for score runs
...
Fixes CODEOCEAN-JR
2023-03-14 13:56:23 +01:00
Sebastian Serth
0dd931fba1
Add runner management health check for /ping
...
Even though we can check the health of the runner management, we would like to ensure an external health check validates the availability of all required services.
2023-03-13 22:54:14 +01:00
Sebastian Serth
0643bc8c0c
Redirect health check monitoring to /ping
...
We previously optimized the SQL queries, so that anonymous users without any cookie sent no longer result in a database query. This is generally awesome, but it also allows our health check monitoring to pass even when no database connection can be established.
2023-03-13 22:11:53 +01:00
Sebastian Serth
025fa355d2
Improve loop for Turtle#update
2023-03-03 14:09:46 +01:00
Sebastian Serth
f19f485e3f
Enable Sentry Relay for errors
2023-03-03 13:22:30 +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
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