Skip to content

Conversation

IcanCUthere
Copy link

@IcanCUthere IcanCUthere commented Oct 6, 2025

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) and too complex database calls.
  • I strictly followed the principle of data economy for all database calls.
  • I strictly followed the server coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
  • I documented the Java code using JavaDoc style.

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises

  • High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).
  • I tested all changes and their related features with all corresponding user types on a test server configured with LocalVC and Jenkins.

Motivation and Context

Issue: 11410

  • The result of Hyperion consistency checks was only shown in a single text box with all the information clumped together
  • This makes it hard to find related code segments and the results hard to act upon
  • It would be nice to see issue descriptions where the issues actually are

Description

  • Removed the previous UI that showed consistency check results
  • Removed the "Check consistency" button from the Problem Statement editor
  • Added a "Check consistency" button to the edit-in-editor view that triggers the consistency check
  • After the check executed, new inline comments appear beneath corresponding code lines inside the monaco code editor, which describe the issues
  • Rerunning the consistency check replaces existing inline comments

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Programming Exercise with inconsistent description or code
  1. Log in to Artemis as a instructor
  2. Navigate to Course Overview
  3. Click "Manage Course" on a course "Test course Konstantin Starke"
  4. Go to exercises
  5. Click "edit in editor" on a programming exercise
  6. A button with the text "Check consistency" should be visible
  7. Click button "Check consistency"
  8. Wait for the loading icon to disappear
  9. Go to the file "BubbleSort.java"
  10. One/Multple textbox(es) should be visible underneath a code lines that describe a inconsistencies in the exercise
  11. Go to the file "Problem Statement"
  12. Other textboxes should be visible here too
  13. Change the code/problem statement to resolve or add inconsistencies
  14. Rerun the consistency check by clicking "Check consistency"
  15. The textboxes should disappear/change

Exam Mode Testing

Testserver States

You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.

Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance even for very large courses with more than 2000 students.
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Exam Mode Test

  • Test 1
  • Test 2

Performance Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

@IcanCUthere IcanCUthere self-assigned this Oct 6, 2025
@github-project-automation github-project-automation bot moved this to Work In Progress in Artemis Development Oct 6, 2025
@github-actions github-actions bot added client Pull requests that update TypeScript code. (Added Automatically!) config-change Pull requests that change the config in a way that they require a deployment via Ansible. programming Pull requests that affect the corresponding module labels Oct 6, 2025
@IcanCUthere IcanCUthere changed the title Implement base functionality for checking and showing inconsistency Hyperion: Show consistency check feedback inline Oct 6, 2025
@github-actions github-actions bot removed the config-change Pull requests that change the config in a way that they require a deployment via Ansible. label Oct 6, 2025
@helios-aet helios-aet bot temporarily deployed to artemis-test2.artemis.cit.tum.de October 6, 2025 19:03 Inactive
Copy link

github-actions bot commented Oct 6, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 617ms
TestResultTime ⏱
No test annotations available

Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 540ms
TestResultTime ⏱
No test annotations available

Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 673ms
TestResultTime ⏱
No test annotations available

@IcanCUthere IcanCUthere changed the title Hyperion: Show consistency check feedback inline Programming exercises: Show consistency check feedback inline Oct 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Pull requests that update TypeScript code. (Added Automatically!) programming Pull requests that affect the corresponding module

Projects

Status: Work In Progress

Development

Successfully merging this pull request may close these issues.

1 participant