0b42bba988
Assign users into A/B groups
2023-09-05 22:56:50 +02:00
ac92385dd7
Rename remaining occurrences of webpacker to shakapacker
2023-09-01 19:39:51 +02:00
8ba5d5a984
Allow enabling pair programming study through env
2023-08-26 00:38:58 +02:00
9d1be1eeff
Migrate AnomalyNotification to contributor
...
* Also, this commit aims to fix the (broken) anomaly notifications.
2023-08-24 19:32:06 +02:00
2fb8def1d0
Add PairProgrammingStudy
...
* Later used to create the A/B groups
2023-08-24 19:32:06 +02:00
730e6f85eb
Migrate color-mode-picker to work with Turbolinks
...
Fix CODEOCEAN-FRONTEND-2D
2023-08-16 23:49:50 +02:00
3b4fc0a5ec
Fix ActionCable load error due to custom inflection for middleware
2023-08-16 17:11:23 +02:00
246cd209f3
Fix access of current theme during page load
2023-08-07 22:07:36 +02:00
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
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
fd2d94568a
Handle OutOfMemory runner errors with gVisor
2023-07-21 16:38:49 +02:00
bcdc71021e
Fix Rubocop offenses
2023-06-11 20:46:45 +02:00
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
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
240fbc5a3b
Add Sentry instrumentation for JavaScript
2023-05-09 22:10:40 +02:00
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
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
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
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
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
a558a6df3b
Shorten message name for sentry hub cloning
2023-02-16 10:47:58 +01:00
91c2e14fe8
Fix error handling during Runner::Connection close
...
Closes CODEOCEAN-HQ
2023-02-16 10:47:28 +01:00
4a8653040c
Use deep merge for Runner::Connection headers
2023-02-12 14:08:54 +01:00
b1372e880c
Enable Sentry instrumentation for WebSocket connection
2023-02-12 13:51:10 +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
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
fb9ab4cd61
DCP: Allow unused keyword arguments for Rubocop
2022-12-19 17:09:59 +01:00
82bb0dd5d1
Return default for retrieve_files
...
Fixes CODEOCEAN-G7
2022-12-19 16:10:38 +01:00
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
7debe371b3
Actually write changed manifest to disk
2022-12-06 19:43:15 +01:00
cfb5fac5b2
Prevent adding duplicate lines for source maps
2022-12-06 19:43:05 +01:00
de0c1d368c
Add source map for sprockets
2022-12-06 15:26:50 +01:00
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
574e99eddd
Fix rubocop offenses - Requires Ruby 3.1+
2022-11-25 11:10:06 +01:00
61c4d5a894
Provide default for retrieve_files method
...
Fixes CODEOCEAN-F4
2022-11-17 20:47:33 +01:00
d50e6d30e9
List Files: Catch more Runner::Errors
2022-11-14 13:51:04 +01:00
1592d42d1a
Junit5: Recognize opentest4j AssertionFailedError
2022-11-11 23:34:17 +01:00
2753e4ef5b
Always catch StandardError in Threads and release connection
2022-11-11 22:50:27 +01:00
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
9e7b3b7b58
Update keyword arguments for #retrieve_files
2022-10-29 18:49:18 +02:00
58548555a5
Shell: Add file system browser to retrieve arbitrary files
2022-10-29 18:49:18 +02:00
60078701f5
Editor: Allow file retrieval after code run
2022-10-29 18:49:18 +02:00
fb9672c7a4
FileTree: Allow output as hash, convert to JSON separately
2022-10-29 18:49:18 +02:00
ad8743a7d0
FileTree: Show more distinct icons where possible
2022-10-29 18:49:18 +02:00
c75f52f2c8
Fix Rubocop offenses
2022-10-24 12:28:50 +02:00
cb94bc3de6
Strategy: Allow privileged_execution: keyword even if not used
2022-10-05 19:19:12 +02:00
a5da7d1f84
Remove outdated HTTP status codes
...
See https://github.com/openHPI/codeocean/pull/1349#pullrequestreview-1091652523
2022-10-05 13:11:43 +02:00
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
f53c6cb3ee
Shell: Add toggle to execute command as root
2022-10-04 16:06:58 +02:00