Commit Graph

2434 Commits

Author SHA1 Message Date
Sebastian Serth
dddebcca67 Prevent new programming groups in case of existing submission for study group 2023-08-24 19:32:06 +02:00
Sebastian Serth
3f674d3687 Prevent accessing another exercise during a programming group session 2023-08-24 19:32:06 +02:00
kiragrammel
01accdae58 Use author_in_programming_group? policy for files & RfCs
* Allow all members of a programming group to list and solve RfCs
* Also adjust policy specs to respect programming groups
2023-08-24 19:32:06 +02:00
Sebastian Serth
9d1be1eeff Migrate AnomalyNotification to contributor
* Also, this commit aims to fix the (broken) anomaly notifications.
2023-08-24 19:32:06 +02:00
Sebastian Serth
a1941336d9 Fix Runner access for programming groups
* We also rename the corresponding columns in the Runner model, so that for polymorphic association gets clear.
2023-08-24 19:32:06 +02:00
Sebastian Serth
977fa4539e Check polymorphic type in validations
* Previously, some models had "duplicated" `belongs_to` associations, which were now removed (and replaced by the `include Creation`).
2023-08-24 19:32:06 +02:00
Sebastian Serth
be4f2b790d Add user to testrun
* We want to identify a user that has triggered a testrun. Previously (in regular operation), only submission author who were regular users were able to start a testrun. Now, we want to prepare a future where submission authors are programming groups. Still, a testrun is triggered by an individual user and not a group.
* Further, this commit fixes some missing foreign key constrains.
2023-08-24 19:32:06 +02:00
Sebastian Serth
e3603758ef Refactor LTI parameters and add study group
* This change also requires that submissions in our test need to have a valid study group.
2023-08-24 19:32:06 +02:00
kiragrammel
e2baa2ee55 Send score for all members of a programming group 2023-08-24 19:32:06 +02:00
kiragrammel
2fb8def1d0 Add PairProgrammingStudy
* Later used to create the A/B groups
2023-08-24 19:32:06 +02:00
kiragrammel
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
kiragrammel
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
kiragrammel
97138288f4 Delete unused LTI params from session 2023-08-24 19:32:06 +02:00
Sebastian Serth
245c3dba8c Update from proforma to proformaxml 2023-08-24 00:14:41 +02:00
Sebastian Serth
269f135812 Fix Errno::ECONNRESET error for Tubesock
* We must not close the socket manually (with `client_socket.close`), as this would close it twice. Compare: 2c83794b85/lib/tubesock.rb (L92)
* When the socket is closed twice, nginx registers a `Connection reset by peer` error: `recv() failed (104: Connection reset by peer) while proxying upgraded connection`
* Tubesock automatically closes the socket when the `hijack` block ends and otherwise ignores `Errno::ECONNRESET`: 2c83794b85/lib/tubesock.rb (L161-L162)
2023-08-22 00:20:02 +02:00
Sebastian Serth
2f0cf615d0 Retry file conversion in case of DB connection issues
Fix CODEOCEAN-RZ
2023-08-21 13:34:11 +02:00
Sebastian Serth
4fc38c7208 Enable Sentry browser profiling 2023-08-18 09:52:52 +02:00
Sebastian Serth
494d32982b Fix wrong variable access for missing consumer check
Amends 57ff38c2
2023-08-17 00:27:16 +02:00
Sebastian Serth
de5bbea4a8 Refactor RfC creation to prevent users from navigating 2023-08-17 00:25:51 +02:00
Sebastian Serth
08a1eb6201 Ignore errors with missing Sentry Transaction
Fix CODEOCEAN-FRONTEND-1D
2023-08-17 00:14:39 +02:00
Sebastian Serth
71acb0cf3d Check for presence of RfC Modal before hiding
Fix CODEOCEAN-FRONTEND-E
2023-08-16 23:11:12 +02:00
Sebastian Serth
57ff38c2b1 Check for invalid consumer in user views
Fix CODEOCEAN-S4
2023-08-16 23:05:07 +02:00
Sebastian Serth
5f21f99f55 Refactor conversion of files JSON for download
Tries fixing CODEOCEAN-RQ
2023-08-15 23:04:03 +02:00
Sebastian Serth
1d7fd98c79 Fix theme change if no file tree is shown 2023-08-01 16:33:45 +02:00
Sebastian Serth
32893bed43 Filter test results on RfC page based on new test attribute 2023-08-01 16:24:13 +02:00
Sebastian Serth
3388a749f7 Fix score card border color 2023-08-01 16:24:13 +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
aab3b95a1d Resolve Bootstrap 5.3 deprecations 2023-07-31 11:27:49 +02:00
Sebastian Serth
53ff809430 Fix Code Inspection warning for CodeHarbor export 2023-07-31 11:27:33 +02:00
Sebastian Serth
3b43cb31bf Remove leftover for CodePilot integration 2023-07-30 12:21:05 +02:00
Sebastian Serth
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +02:00
Sebastian Serth
01f4f0c2cd Remove legacy CodePilot integration 2023-07-28 08:50:00 +02:00
Sebastian Serth
bf662ecb81 Remove legacy forum search and search buttons 2023-07-28 08:45:05 +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
5faf5be033 Fix Rubocop offenses 2023-07-27 09:32:45 +02:00
Sebastian Serth
17ac339935 Fix flickering of run/stop button during page load 2023-07-25 22:12:15 +02:00
Sebastian Serth
fd2d94568a Handle OutOfMemory runner errors with gVisor 2023-07-21 16:38:49 +02:00
Sebastian Serth
264927e3c4 Fix unnecessary testrun for each successful test / score action.
This commit resolves a regression introduced by commit 9c3ec3c7.

We still might want to remove this false data from our database, which is still pending.
2023-07-15 19:00:26 +02:00
Sebastian Serth
e097036296 Fix RfC Visibility to work as intended
The RfC Visibility of a consumer is intended to restrict who can access which RfCs. So far, those restrictions were only applied one way, for learners of a restricted consumer to view other (external) RfCs. However, the other way around should also work: If a RfC was created as part of a restricted consumer, no other external user should be able to interfere with this RfC. This commit, therefore, adds this direction as well and covers both directions with tests.
2023-07-13 11:02:10 +02:00
Sebastian Serth
c6977b6319 Catch SocketError for LTI 2023-07-13 10:51:47 +02:00
Sebastian Serth
1296a12a6d Language Selector: Prevent duplicate locale= keys 2023-06-23 22:21:56 +02:00
Sebastian Serth
83d2b8f5fd Add return value for Exercise#valid_submission_deadlines? 2023-06-23 22:20:04 +02:00
Sebastian Serth
bcdc71021e Fix Rubocop offenses 2023-06-11 20:46:45 +02:00
Sebastian Serth
9e3c76465d Fix Sentry Replay integration 2023-06-02 14:33:32 +02:00
Sebastian Serth
b6b75cee0e Improve SQL query for exercise statistics
Removing the call to distinct dramatically improves the page load time. I don't know why, but since we are only using the users to filter the submission, it's not harmful to omit it.
2023-05-12 07:52:56 +02:00
Sebastian Serth
ee74d7003e Add Julia support for highlight.js 2023-05-11 23:02:09 +02:00
Sebastian Serth
a16c1a2bd3 Order files by path and name 2023-05-11 22:50:33 +02:00
Sebastian Serth
d6212e98d1 Limit Statistic JS to specific page
Fixes CODEOCEAN-P5
2023-05-11 00:06:00 +02:00
Sebastian Serth
9be6d81af7 Start Sentry Transaction for RfCs
Fixes CODEOCEAN-PE
2023-05-10 23:34:16 +02:00
Sebastian Serth
15583ec552 Drop outdated JavaScript code no longer used 2023-05-09 22:10:40 +02:00