Commit Graph

533 Commits

Author SHA1 Message Date
6d107ba2f4 Fix Linter translation with multi-line expression
Fixes CODEOCEAN-V1
2023-09-20 00:35:50 +02:00
72009667a6 Fix Poseidon JSON schema
that included a wrong usage of the `required` attribute.

See #1914 and openHPI/poseidon#456.
2023-09-19 12:52:53 +02:00
8faab2d16a Study: Only test fixed enrolled users for external users 2023-09-19 11:54:39 +02:00
e8619ae5f5 Add safeguard for sentry_span in connection.rb 2023-09-19 10:13:45 +02:00
56b6380f4d Capture invalid JSON received from runner management
Related to https://github.com/openHPI/codeocean/issues/1914
2023-09-19 10:13:45 +02:00
cc4f1d2ace Fix wrong test result output for Julia adapter 2023-09-16 16:09:17 +02:00
44618f6ac4 Add fixed enrolled users to PairProgramming23Study 2023-09-13 01:28:13 +02:00
c29256aa81 Fix Rubocop offenses 2023-09-11 14:10:16 +02:00
f47e29fae9 Fix missing sentry breadcrumb for websocket connection
It seems like we are still not setting the Sentry hub correctly. Therefore, we just use the hub passed with the span to add the breadcrumbs.
2023-09-08 00:01:20 +02:00
aaf1162cf8 Bump sentry-ruby and sentry-rails
Bumps [sentry-ruby](https://github.com/getsentry/sentry-ruby) and [sentry-rails](https://github.com/getsentry/sentry-ruby). These dependencies needed to be updated together.

Updates `sentry-ruby` from 5.10.0 to 5.11.0
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/5.10.0...5.11.0)

Updates `sentry-rails` from 5.10.0 to 5.11.0
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/5.10.0...5.11.0)

---
updated-dependencies:
- dependency-name: sentry-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sentry-rails
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 14:16:10 +02:00
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