Commit Graph

479 Commits

Author SHA1 Message Date
319c3ab3b4 Add ProgrammingGroup & ProgrammingGroupMembership
* User can create programming group with other users for exercise
* Submission is shared in a group
* Also adjust specs
2023-08-24 19:32:06 +02:00
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +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
5faf5be033 Fix Rubocop offenses 2023-07-27 09:32:45 +02:00
fd2d94568a Handle OutOfMemory runner errors with gVisor 2023-07-21 16:38:49 +02:00
83d2b8f5fd Add return value for Exercise#valid_submission_deadlines? 2023-06-23 22:20:04 +02:00
a16c1a2bd3 Order files by path and name 2023-05-11 22:50:33 +02:00
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
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
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
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
417ead3d3f Reduce SQL queries to find a unsolved recommended RfC
Fixes CODEOCEAN-JQ
2023-03-14 13:56:23 +01:00
939b31967f Reduce SQL queries for score runs
Fixes CODEOCEAN-JR
2023-03-14 13:56:23 +01:00
ddf041ac05 Check RfC visibility before redirecting users 2023-02-21 10:01:01 +01:00
d03f2c7bf4 Slightly improve Statistics Controller performance 2023-02-21 01:27:32 +01:00
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
e632f95060 Prevent storing empty results
Fixes CODEOCEAN-HS
2023-02-17 18:13:48 +01:00
e96eda69d7 Bulk insert LinterCheckRuns
Similar to TestrunMessages, we insert all linter check runs through a bulk operation, potentially reducing time.
2023-02-16 10:50:01 +01:00
b375aed543 Bulk insert TestrunMessages
With Sentry, we identified that all TestrunMessages are created one-by-one (besides passing them all in an array to #create!). Therefore, we now do the validations on our own first and then store all once, dramatically reducing the required time.

Fixes CODEOCEAN-HP
2023-02-16 10:50:01 +01:00
90d713a1d4 fix (potential) problems with empty file_extensions 2023-02-09 18:42:24 +01:00
637f872f34 add file_extension validation for file_type 2023-02-09 18:42:24 +01:00
04504973ba Adjust Sentry's user context 2023-02-03 00:16:52 +01:00
2679f5fa56 Allow random selection for ProxyExercise 2023-01-20 21:02:20 +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
7a2e442d91 Reject reference implementations only for Runs 2022-12-12 20:53:46 +01:00
bc5baed05e Use exec_query for custom SQL execution
Also align how we use query Postgres from controllers.

The change is mainly due to regular (but not reproducible) issues with the `intervalstyle` defaulting to `postgres` (instead of `iso8601`) and thereby causing issues. We're just experimenting to see whether this change resolves the issue.
2022-12-06 22:41:00 +01:00
b7a3fd4586 Refactor exercise statistics to use convert times in Ruby 2022-12-05 21:59:34 +01:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
f17718f69f CSP: Extract JavaScript from layout to assets
Fixes CODEOCEAN-CP
2022-11-16 19:47:58 +01:00
d50e6d30e9 List Files: Catch more Runner::Errors 2022-11-14 13:51:04 +01:00
2753e4ef5b Always catch StandardError in Threads and release connection 2022-11-11 22:50:27 +01:00
cf957eb715 Prevent reference_implementation to be copied to Runner 2022-11-04 17:30:30 +01: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
ad8743a7d0 FileTree: Show more distinct icons where possible 2022-10-29 18:49:18 +02:00
ef5dd80ea7 Increase wait timeout for new execution environments to 60 sec 2022-10-11 21:14:07 +02:00
66ab00a6bd Fix association to testrun_execution_environment 2022-10-11 21:08:34 +02:00
d80a8dd64f Fix Submissions index page
Closes CODEOCEAN-BJ
2022-10-11 20:21:13 +02:00
065f93f79c Return empty programming language if no ACE mode is set 2022-10-06 00:25:22 +02:00
4f5f71840a Change order of tests to execute linter checks first 2022-10-05 19:38:38 +02:00
42a7bf9983 Remove outdated enums for testrun_message
These enums are not present in the database.
2022-10-04 16:07:00 +02:00
ca13ea03c8 SubmissionsController: Send Content-Length if possible 2022-10-04 16:06:59 +02:00
f53c6cb3ee Shell: Add toggle to execute command as root 2022-10-04 16:06:58 +02:00
4b00eb1e8c Allow internal users to switch their current study group 2022-09-26 16:30:54 +02:00
eb188dcd71 Add privilegedExecution flag to database and Poseidon Strategy 2022-09-24 22:32:41 +02:00
0e7c38657f Allow teachers to access internal users and manage them in their study groups 2022-09-22 19:24:26 +02:00
ac3dc8d30f Allow platform admins and internal users to switch their current study group 2022-09-22 19:24:26 +02:00
4d2fe22daf Allow assignment of study groups for internal users 2022-09-22 19:24:26 +02:00