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 chat in lectures #9740

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

Conversation

isabellagessl
Copy link

@isabellagessl isabellagessl commented Nov 11, 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).

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.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I translated all newly inserted strings into English and German.

Motivation and Context

For now Iris was only available in exercises and the course but now it is also available for lectures.

Description

Iris has been added to lectures.

  • A new Session type has been added and corresponding SessionService.
  • The Iris button now appears in lectures when the feature is enabled globally and in the course.
  • Clicking the button opens the Iris chat window.

Steps for Testing

Prerequisites:

  • Iris is enbaled globally
  • 1 course
  • 1 lecture
  1. Log in to Artemis
  2. Navigate to Course Administration, click on your course
  3. Navigate to Iris settings and enable Iris Lecture chat
  4. Navigate to the lecture as a student
  5. Check wether the Iris button appears and opens the chat window
  6. Talk to Iris, ask questions about the lecture

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

Summary by CodeRabbit

  • New Features

    • Introduced a new lecture chat session management feature with the ability to create and retrieve chat sessions for lectures.
    • Added support for lecture-specific chat settings, including rate limiting and category enablement.
    • Implemented REST endpoints for managing lecture chat sessions and updating their statuses.
    • Enhanced user interface to support lecture chat settings in the settings update components.
    • Added new records and DTOs for managing lecture chat pipeline execution and status updates.
    • Integrated lecture chat settings into the existing settings management framework.
  • Bug Fixes

    • Improved error handling for lecture chat session management.
  • Documentation

    • Updated localization files for English and German to include new entries related to lecture chat settings.
  • Tests

    • Added integration tests for the lecture chat messaging functionality.
    • Updated existing tests to accommodate new lecture chat settings and functionality.

@isabellagessl isabellagessl added ready for review 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 11, 2024
@isabellagessl isabellagessl requested a review from a team as a code owner November 11, 2024 15:25
@github-actions github-actions bot added tests core Pull requests that affect the corresponding module labels Nov 11, 2024
Copy link

⚠️ Unable to deploy to test servers ⚠️

The docker build needs to run through before deploying.

@github-actions github-actions bot removed the communication Pull requests that affect the corresponding module label Dec 10, 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.

Tested on TS1. Works as expected. Code LGTM

@Feras797
Copy link

Feras797 commented Jan 4, 2025

where do I find the iris settings?
I don't have my own course but I should be able to change the settings for any course (?)

@HawKhiem
Copy link

HawKhiem commented Jan 5, 2025

where do I find the iris settings? I don't have my own course but I should be able to change the settings for any course (?)

Correct me if I'm wrong but I think one can only change iris settings thoroughly with admin rights, with instructors rights one can only change some parts, which are normally not enough to test some of the PRs. You could try testing locally

@github-actions github-actions bot added deployment-error Added by deployment workflows if an error occured and removed deploy:artemis-test1 labels Jan 6, 2025
@zagemello zagemello removed the deployment-error Added by deployment workflows if an error occured label Jan 6, 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!) core Pull requests that affect the corresponding module 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
Status: In review
Development

Successfully merging this pull request may close these issues.