Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iris: Add course chat settings #9866

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

Hialus
Copy link
Member

@Hialus Hialus commented Nov 26, 2024

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 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.

Motivation and Context

The Iris course level chat currently used the programming chat settings. We want to split these for clarity.

Description

I added a new sub-settings type for the course chat. It works the same as the programming chat settings for now.

Steps for Testing

Prerequisites:

  • 1 Admin
  1. Log in to Artemis
  2. Go to the global Iris settings in the Admin menu
  3. Enable the course chat settings
  4. Go to a course
  5. Go to the Iris settings in the course
  6. Enable Iris here
  7. Done

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.







Review Progress

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced IrisCourseChatSubSettings to manage course-specific chat settings.
    • Added support for course chat settings in various components and services.
    • Enhanced settings management to include IrisCombinedCourseChatSubSettingsDTO for better configuration handling.
  • Bug Fixes

    • Updated references to ensure correct handling of course chat settings across the application.
  • Documentation

    • Added new entries for "Course Chat Settings" in the application’s localization files.
  • Tests

    • Expanded test coverage for components and services to include new chat settings functionality.

These updates enhance the chat capabilities within course settings, providing a more robust user experience.

@coderabbitai ignore

@Hialus Hialus self-assigned this Nov 26, 2024
@github-actions github-actions bot added tests server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. iris Pull requests that affect the corresponding module labels Nov 26, 2024
@Hialus Hialus marked this pull request as ready for review November 26, 2024 00:32
@Hialus Hialus requested a review from a team as a code owner November 26, 2024 00:32

This comment was marked as spam.

coderabbitai[bot]

This comment was marked as spam.

coderabbitai[bot]
coderabbitai bot previously approved these changes Nov 26, 2024
@github-actions github-actions bot added deployment-error Added by deployment workflows if an error occured and removed deploy:artemis-test2 labels Nov 26, 2024
@Hialus Hialus removed the deployment-error Added by deployment workflows if an error occured label Nov 26, 2024
@ls1intum ls1intum deleted a comment from github-actions bot Nov 26, 2024
Copy link
Contributor

@kaancayli kaancayli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines +148 to +150
if (settingsType == IrisSettingsType.EXERCISE || authCheckService.isAdmin()) {
currentSettings.setEnabled(newSettings.isEnabled());
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this happen at all for course chat settings?

Comment on lines +78 to +80
public void setIrisCourseChatSettings(IrisCourseChatSubSettings irisCourseChatSettings) {

}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add a short comment in the boy of this method to justify that it's empty.

Suggested change
public void setIrisCourseChatSettings(IrisCourseChatSubSettings irisCourseChatSettings) {
}
public void setIrisCourseChatSettings(IrisCourseChatSubSettings irisCourseChatSettings) {
// Empty because exercises don't have course chat settings
}

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!) database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. iris Pull requests that affect the corresponding module ready for review server Pull requests that update Java code. (Added Automatically!) tests
Projects
Status: Ready For Review
Development

Successfully merging this pull request may close these issues.

4 participants