Commit Graph

2182 Commits

Author SHA1 Message Date
Sebastian Serth
83e7eb3ce6 Hide exercise statistics for empty user group
Fixes ODEOCEAN-M5
2023-04-14 14:27:27 +02:00
Sebastian Serth
d90cdcf80e Enlarge Run and Stop buttons again
After the recent change where we wrapped the Run and Stop buttons in another div (for the tooltip), there were cosmetic issues on mobile devices.
2023-04-13 22:09:52 +02:00
Sebastian Serth
b79f0015ad Fix rubocop offenses 2023-04-03 15:08:30 +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
72ca8c57de Reduce SQL queries for querying tips.
Closes CODEOCEAN-KY
2023-04-02 17:11:53 +02:00
Sebastian Serth
0aa73d30e9 Reduce SQL queries for querying files when creating submissions
This is especially useful for the RemoteEvaluationsController.

Closes CODEOCEAN-KX
2023-04-02 17:05:22 +02:00
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