Sebastian Serth
246cd209f3
Fix access of current theme during page load
2023-08-07 22:07:36 +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
db56a690c7
Add option to suppress feedback messages
...
This is used to dynamically exclude some test results from being shown to users, but still allows them to run in the background (e.g., for research).
2023-07-27 10:38:49 +02:00
Sebastian Serth
fd2d94568a
Handle OutOfMemory runner errors with gVisor
2023-07-21 16:38:49 +02:00
Sebastian Serth
bcdc71021e
Fix Rubocop offenses
2023-06-11 20:46:45 +02:00
Sebastian Serth
e59c991ece
Add first version of JuliaAdapter
...
The adapter was tested with a first demo exercise, but further adjustments might be necessary to cover all edge cases.
2023-05-11 22:26:13 +02:00
Sebastian Serth
f6278b27cf
Determine WebSocket connection without Upgrade header
...
The HTTP Upgrade header is hop-by-hop only and therefore removed by a reverse proxy.
Read more: http://nginx.org/en/docs/http/websocket.html
2023-05-10 00:26:27 +02:00
Sebastian Serth
240fbc5a3b
Add Sentry instrumentation for JavaScript
2023-05-09 22:10:40 +02:00
Sebastian Serth
6a0c4976ba
Re-Allow successfully synchronization of environments
...
We previously fixed an issue with bootstrapping Poseidon, but unfortunately mixed with the conditions.
Amends c59eaa05
Fixes CODEOCEAN-M7
2023-04-17 22:23:25 +02:00
Sebastian Serth
c59eaa05bb
Handle bootstrapping of Poseidon when no environments
...
When starting Poseidon with an empty Nomad cluster, the list of existing environments is empty. In this case, however, our error handler threw an error, which was not correct.
Fixes CODEOCEAN-M7
2023-04-14 13:37:45 +02:00
Sebastian Serth
c407d8cb8b
Capture context for Sentry errors during WebSocket connection
...
Special handling is needed to ensure we have the transaction ID and Rack ENV. Otherwise the error cannot be matched to a transaction in Sentry. This special behavior is needed because of the underlying EventMachine, which executes code in a different thread/context.
2023-04-14 12:50:50 +02: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
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
a558a6df3b
Shorten message name for sentry hub cloning
2023-02-16 10:47:58 +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
4a8653040c
Use deep merge for Runner::Connection headers
2023-02-12 14:08:54 +01:00
Sebastian Serth
b1372e880c
Enable Sentry instrumentation for WebSocket connection
2023-02-12 13:51:10 +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
b80d372c53
Prevent errors with unavailable linter translations
...
Not all testing frameworks provide a translation for Linter (or linter support at all). For these, we don't want to call the non-existing method but rather return the same messages as before.
2022-12-23 13:05:39 +01:00
Sebastian Serth
fb9ab4cd61
DCP: Allow unused keyword arguments for Rubocop
2022-12-19 17:09:59 +01:00
Sebastian Serth
82bb0dd5d1
Return default for retrieve_files
...
Fixes CODEOCEAN-G7
2022-12-19 16:10:38 +01:00
Sebastian Serth
66921d92bb
Fix assets:precompile
to be idempotent again
...
Each execution regenerates the manifest, so that we also need to rewrite the hashes.
2022-12-06 20:21:58 +01:00
Sebastian Serth
7debe371b3
Actually write changed manifest to disk
2022-12-06 19:43:15 +01:00
Sebastian Serth
cfb5fac5b2
Prevent adding duplicate lines for source maps
2022-12-06 19:43:05 +01:00
Sebastian Serth
de0c1d368c
Add source map for sprockets
2022-12-06 15:26:50 +01:00
Sebastian Serth
4ecaee9d6c
Prevent reloading of SRI helpers in development
...
Otherwise, each code reload would re-add the SRI helpers and thus break the inclusion of asset tags.
2022-12-05 18:20:47 +01:00
Sebastian Serth
574e99eddd
Fix rubocop offenses - Requires Ruby 3.1+
2022-11-25 11:10:06 +01:00
Sebastian Serth
61c4d5a894
Provide default for retrieve_files method
...
Fixes CODEOCEAN-F4
2022-11-17 20:47:33 +01:00
Sebastian Serth
d50e6d30e9
List Files: Catch more Runner::Errors
2022-11-14 13:51:04 +01:00
Sebastian Serth
1592d42d1a
Junit5: Recognize opentest4j AssertionFailedError
2022-11-11 23:34:17 +01:00
Sebastian Serth
2753e4ef5b
Always catch StandardError in Threads and release connection
2022-11-11 22:50:27 +01:00
Sebastian Serth
9ea94ed4fc
Explicitly copy folders before adding files
...
This allows to protect copied files while additionally allowing learners to add new files in copied subdirectories
2022-10-29 18:50:27 +02:00
Sebastian Serth
9e7b3b7b58
Update keyword arguments for #retrieve_files
2022-10-29 18:49:18 +02:00
Sebastian Serth
58548555a5
Shell: Add file system browser to retrieve arbitrary files
2022-10-29 18:49:18 +02:00
Sebastian Serth
60078701f5
Editor: Allow file retrieval after code run
2022-10-29 18:49:18 +02:00
Sebastian Serth
fb9672c7a4
FileTree: Allow output as hash, convert to JSON separately
2022-10-29 18:49:18 +02:00
Sebastian Serth
ad8743a7d0
FileTree: Show more distinct icons where possible
2022-10-29 18:49:18 +02:00
Sebastian Serth
c75f52f2c8
Fix Rubocop offenses
2022-10-24 12:28:50 +02:00
Sebastian Serth
cb94bc3de6
Strategy: Allow privileged_execution: keyword even if not used
2022-10-05 19:19:12 +02:00
Sebastian Serth
a5da7d1f84
Remove outdated HTTP status codes
...
See https://github.com/openHPI/codeocean/pull/1349#pullrequestreview-1091652523
2022-10-05 13:11:43 +02:00
Sebastian Serth
ba821bd18b
Change HTTP status codes for Poseidon in accordance with recent changes.
...
See https://github.com/openHPI/poseidon/pull/159
2022-10-05 13:11:43 +02:00
Sebastian Serth
f53c6cb3ee
Shell: Add toggle to execute command as root
2022-10-04 16:06:58 +02:00
Sebastian Serth
eb188dcd71
Add privilegedExecution flag to database and Poseidon Strategy
2022-09-24 22:32:41 +02:00
Sebastian Serth
bbb791471b
Remove AWS study
2022-09-21 18:57:12 +02:00
Sebastian Serth
9e08f3a6a8
Enable Subresource Integrity
2022-09-06 11:21:37 +02:00
Sebastian Serth
6927b57170
Update Study Group Dashboard and Statistics
2022-08-20 00:05:02 +02:00
Sebastian Serth
d762f976a8
Add new CodeOcean::File#read method
...
* With a new method, we can simplify our code to handle differences between file.content and file.native_file.read
2022-08-19 22:42:55 +02:00
Sebastian Serth
145c4aa8d5
Refactor various ruby files
...
* Insights based on brakeman report
2022-08-18 15:25:04 +02:00
Sebastian Serth
6dd64b2a74
Remove outdated URL polyfill
2022-08-13 00:37:21 +02:00