Commit Graph

2439 Commits

Author SHA1 Message Date
4723985b4c Support GitHub-flavored Markdown 2023-12-19 09:19:09 +01:00
245bcf4224 Submission Download: Pass ID file content instead of path
Fixes CODEOCEAN-11M
2023-12-14 15:25:07 +01:00
293bb5d4ab Switch to proper, dynamic route for SortableJS elements 2023-12-14 00:31:41 +01:00
5b654debbe Fix Rubocop offenses 2023-12-12 10:40:45 +01:00
768eb53f7a Reduce SQL queries for tag_statistics
Fixes CODEOCEAN-YP
2023-12-09 00:37:43 +01:00
1bb61f73fe Enable interventions for ProgrammingGroups and add indices 2023-12-08 21:33:06 +01:00
605ce66d62 Move hidden feedback explanation closer to checkbox 2023-12-08 20:43:39 +01:00
ef89b20986 Improve explanation for hidden feedback messages in tests 2023-12-08 20:25:02 +01:00
bcb6409126 Bump rubocop from 1.57.2 to 1.58.0 and fix offenses
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.2 to 1.58.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.57.2...v1.58.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 11:02:00 +01:00
dccfe5cbc8 Reduce SQL queries for exercise batch update
Fixes CODEOCEAN-10D
2023-12-05 22:12:42 +01:00
a6f64c83a0 Reduce SQL queries for external user statistics
Fixes CODEOCEAN-100
Fixes CODEOCEAN-YN
Fixes CODEOCEAN-10H
2023-12-05 20:57:55 +01:00
f393d8cb48 Sentry: Allow backend filtering for WebSocket connections without frontend 2023-12-02 23:30:03 +01:00
5ddc5a8ca5 Redirect users after sign in to their desired page 2023-12-01 00:06:31 +01:00
b4ee21a00d Reduce global JavaScript variables for Turtle
Fixes
2023-11-25 01:18:19 +01:00
0bd7c93d65 Allow clicking on checkboxes for batch update 2023-11-24 16:41:49 +01:00
60b0a5b5a1 Improve SQL query for fetching contributor for feedback 2023-11-23 14:42:10 +01:00
e9f099d59f Properly nest UserExerciseFeedback
Fixes CODEOCEAN-108
2023-11-23 14:42:10 +01:00
b43dfa364e Improve LTI handling for InternalUsers 2023-11-23 14:42:10 +01:00
3b05a44b9e Allow programming groups to score exercises remotely 2023-11-23 14:42:10 +01:00
fe26378387 Extract ScoringChecks and rework RemoteEvaluations 2023-11-23 14:42:10 +01:00
175c8933f3 Automatically submit LTI grade on each score run
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights.

For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability.

As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
2023-11-23 14:42:10 +01:00
1e06ab3fa9 Prevent cross access of PG for different exercise
Here, we are only checking the condition based on the URL if both parameters (exercise and programming group) are given. Otherwise, we skip the check.
2023-11-23 14:42:10 +01:00
3048cf2644 Remove unnecessary #to_s in controller 2023-11-23 14:42:10 +01:00
ee351198f5 Fix CommunitySolution after introduction of programming pairs 2023-11-23 14:42:10 +01:00
9b705fd538 Remove erroneous validation from CommunitySolution 2023-11-23 14:42:10 +01:00
ed7a3c848f Hide reference implementations if another file with same name is already present 2023-11-20 23:16:48 +01:00
c9ed9bd0cf Fix batch update for exercises
This fixes a regression from 8a055a0d
2023-11-20 22:33:58 +01:00
aeb2bb2542 Hide button to sync execution environments from unauthorized users 2023-11-20 22:25:28 +01:00
e03e67a1a5 Only return height and width for Turtle if canvas is present
Fixes CODEOCEAN-FRONTEND-4P
2023-11-17 14:59:49 +01:00
3d5f55f8ed Only apply Turtle update if canvas is present
Fixes CODEOCEAN-FRONTEND-4T
2023-11-17 14:59:49 +01:00
ce6470cd72 Carefully check for tooltip in Run-Stop button group
Fixes CODEOCEAN-FRONTEND-5C
2023-11-17 14:59:49 +01:00
c18aadaf61 Don't throw an exception without turtle canvas
Fixes CODEOCEAN-FRONTEND-59
2023-11-17 14:59:49 +01:00
35a65e4744 Check for element before attempting to show spinner
Fixes CODEOCEAN-FRONTEND-57
2023-11-17 14:59:49 +01:00
1e08f2cc9c add hidden_feedback to custom CodeOcean test-attributes 2023-11-17 00:56:49 +01:00
122580b220 ProFormA: refactor filename-gather-method
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com>
2023-11-17 00:56:49 +01:00
3f8f4cee5b update converters and im-/exporters to accommodate for changes in proforma gem 2023-11-17 00:56:49 +01:00
7026f14725 Fix download behavior for hidden file tree
This commit fixes a regression from 944b4551, where the behavior was changed by mistake.
2023-11-11 20:31:01 +01:00
8c1cede705 Hide action name for Index and Show routes 2023-11-09 09:15:39 +01:00
cf5d7ffd1f Revert "Log terminated_by_client to Sentry"
This reverts commits 3ad94653 and c6461f6b
2023-11-06 00:29:25 +01:00
4537f2bf75 Allow viewing submissions without corresponding exercise
Fixes CODEOCEAN-S7
2023-11-06 00:24:51 +01:00
920f2dcb38 Handle broken pipe socket in SubmissionsController
Fixes CODEOCEAN-Y2
2023-11-06 00:16:53 +01:00
2872c04934 Fix exception for WebSocket connection without cookie
Fixes CODEOCEAN-YW
2023-11-05 23:57:24 +01:00
d2b2deaf98 Use var for window-wide variables
Otherwise, Turbolinks might cause an issue...

Fixes CODEOCEAN-FRONTEND-H
2023-11-05 23:43:32 +01:00
abf917ae37 Switch to Hash syntax for URL generation in breadcrumbs
This will prevent an exception if the corresponding Route cannot be generated.
2023-11-05 13:02:34 +01:00
8fc5123bae Exclusively lock Runners during code executions
Previously, the same runner could be used multiple times with different submissions simultaneously. This, however, yielded errors, for example when one submission time oud (causing the running to be deleted) while another submission was still executed.

Admin actions, such as the shell, can be still executed regardless of any other code execution.

Fixes CODEOCEAN-HG
Fixes openHPI/poseidon#423
2023-10-31 12:35:24 +01:00
442337a22b Fix file listing and download for admin shell
`node.parents` is not returning the parent nodes in a fixed order. Hence, we cannot use it but must travers the tree ourselves.
2023-10-31 00:39:06 +01:00
6ba567a903 Add role checks for ProgrammingGroup
So far, a programming group is always considered to be a learner. While we could, technically, consider it to be a teacher or an admin if all members have this role, this behaviour might have unintended side effects.
2023-10-31 00:39:06 +01:00
28d9e38fe5 Upgrade to Rails 7.1 and apply new framework defaults
* Remove deprecated options from environments
* Remove deprecation warnings for upcoming Rails 7.2
* Dump schema with new defaults
* Remove outdated (and erroneous) data attribute in view
* Resolve a `NoMethodError` for seeds_spec.rb
2023-10-27 16:50:27 +02:00
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
5ecde8c8bd Generalize breadcrumbs for nested resources
* Make programming groups breadcrumb navigation clickable
2023-10-23 18:17:42 +02:00