c75f52f2c8
Fix Rubocop offenses
2022-10-24 12:28:50 +02:00
f7515362a1
Set Content-Type to fixed value for all download actions
2022-10-05 21:46:17 +02:00
2d95a737f6
Assume failed code execution if no status was received
2022-10-04 16:08:10 +02:00
b8b7cd99bd
SubmissionsController: Allow JS to be "rendered"
...
We skip verifying the authenticity token for the action, to prevent raising a `ActionController::InvalidCrossOriginRequest` exception.
2022-10-04 16:06:59 +02:00
ca13ea03c8
SubmissionsController: Send Content-Length if possible
2022-10-04 16:06:59 +02:00
c3daa51c8c
SubmissionsController: Remove outdated ActionController::Live
mixin
...
The mixin was previously used for Server-Sent-Events, which were removed from CodeOcean a long time ago.
After the mixin is removed, we can also fix the cookie send mechanism (this was erroneous with the mixin).
2022-10-04 16:06:58 +02:00
3263d4f838
Respect subpath for (render_)protected_upload_path
2022-09-28 11:06:15 +02:00
16c00ec136
Add support for signed URLs used by the render_file function
2022-09-23 21:35:22 +02:00
5b73f4df6f
Refactor render_file method
...
* We simplify the send_data call,
* ensure to set the correct header, and
* prevent our custom MIME type detection
2022-09-06 11:21:33 +02:00
b6d8c7175b
Disallow any external resources for :render_file
2022-09-06 11:20:57 +02:00
0a16f589e9
Use X-Sendfile to transmit native files and handle file uploads
2022-09-06 01:21:40 +02:00
60dc8c3b7e
Apply line-based coloring for output
2022-09-02 16:56:18 +02:00
e0c2c7b806
Hide score button if exercise has no tests
...
We check for all teacher-defined assessments (linter and unit tests) to determine whether scoring should be possible
2022-08-22 17:51:57 +02:00
c228850ae8
Update find method
2022-08-20 00:37:48 +02:00
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
acc07ffa5d
Disallow leading / in zip archives
2022-08-18 16:45:15 +02:00
145c4aa8d5
Refactor various ruby files
...
* Insights based on brakeman report
2022-08-18 15:25:04 +02:00
01f6b0d16e
Reduce skip_before_action usage
2022-08-17 00:54:20 +02:00
9587ecb2b1
Resolve bug where duration of not-started runner cannot be calculated
2022-07-15 00:49:16 +02:00
1183f5cdcd
Ensure that the testrun[:status] is available in more cases
2022-07-15 00:49:15 +02:00
0ab3d0bdc1
Fix Rubocop offenses
2022-06-30 14:02:53 +02:00
ea728f54ec
Fix remote evaluations URL when using subdirectory for CO
2022-05-14 19:01:54 -04:00
ea02dff0e5
Extend storage of Testrun Messages and truncate long output
2022-04-29 22:44:34 +02:00
5ecba6ef70
Persist TestrunMessages and store timestamp
...
So far, the Testrun messages are in addition to the Tesstrun.output column
2022-04-29 01:00:51 +02:00
e9efb5bc2b
Add exit_code and status to Testruns, create model for TestrunMessages
...
* This is the first step to migrate the `output` column from Testruns to a dedicated table TestrunMessages
2022-04-28 15:18:51 +02:00
83e09f33ec
Merge pull request #1237 from openHPI/aws_experiment
...
Prepare AWS Experiment
2022-04-18 21:18:29 +02:00
19bd742bc9
Show a localized message if the program was killed.
...
* This will most likely happen by the OOM killer, thus we inform the user about the memory restriction.
2022-04-15 21:29:55 +02:00
d10735d0a8
Persist Execution Environment when running code
2022-04-15 15:22:19 +02:00
0583076c2b
Fix Thread leakage when scoring or testing submissions
...
It is discouraged to do anything directly within the
Tubesock hijack block. We might only use the callbacks
(onopen, onmessage, onclose, onerror). Otherwise,
Tubesock might not close all Threads correctly and
will keep them awake every five seconds.
2022-04-07 19:57:31 +02:00
0a6ae91db8
Introduce per_page parameter for custom page size
2022-01-12 20:46:54 +01:00
ea85519163
Update bundle (with newest rubocop version) and fix offenses
2022-01-04 09:42:37 +01:00
0c1a10959c
Use file name with file path as identifier
2021-12-15 00:52:31 +01:00
695c3de40e
Ensure users are signed in before creating a submission
2021-11-14 23:07:44 +01:00
c3642b5d0c
Add an empty line before printing exit message
...
* The empty line is only added if the output is not empty
2021-11-01 17:52:44 +01:00
de83843496
Combine no_output and exit_status messages
2021-11-01 17:13:13 +01:00
7285978ea3
Re-add test method for SubmissionsController
2021-11-01 17:13:01 +01:00
56a1d78793
Use correct embed_option to disable_score
2021-11-01 17:13:01 +01:00
2377f8370c
Clarify set_file and set_files in SubmissionsController
2021-11-01 17:13:00 +01:00
345860c779
Adapt output buffering to Poseidon and DCP
...
* Refactor flushing of messages
* Introduce two separate buffers for stdout and stderr
2021-11-01 17:13:00 +01:00
7e7b7ebdfa
Allow flushing the WebSocket connection
...
* This will prevent the current thread from crashing when a single newline character is received.
2021-11-01 17:12:59 +01:00
f4c806fe43
Forward JSON from runner to client if possible
2021-11-01 17:12:59 +01:00
3240ea7076
Forward input as raw_event to runner
...
* Also, rename #send to #send_data in order to prevent debugging issues in RubyMine
2021-11-01 17:12:58 +01:00
f896d041f8
Restructure submissions_controller and remove outdated copy_comments method
2021-11-01 17:12:58 +01:00
1403fc03c4
Remove outdated lines from #download method
2021-11-01 17:12:57 +01:00
601e1fab5c
Remove all occurrences of server-sent events
2021-11-01 17:12:57 +01:00
4ad898ad8b
Remove set_docker_client method from submissions_controller.rb
2021-11-01 17:12:54 +01:00
1bf92d8c90
Fix sentry error capturing in submissions controller
2021-11-01 17:12:53 +01:00
c7369366d5
Ensure that only one EventMachine is running
2021-11-01 17:12:52 +01:00
5cc180d0e9
Fix rubocop, I18n, cleanup rebase
2021-11-01 17:12:52 +01:00
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00