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: Enable text copy-paste from Iris exercise chatbot window #9761

Merged
merged 2 commits into from
Nov 26, 2024

Conversation

sebastianloose
Copy link
Contributor

@sebastianloose sebastianloose commented Nov 12, 2024

Checklist

General

Client

Motivation and Context

Currently, users cannot copy text from the Iris exercise window due to a conflict with the drag functionality.

Description

The drag action interferes with text selection, preventing users from copying content. This bugfix allows users to drag the chatbot window by clicking on the header, enabling text selection and copying within the main window.

Steps for Testing

Prerequisites:

  • 1 Account that has access to an exercise with iris
  1. Log in to Artemis
  2. Navigate to an exercise
  3. Write a message to Iris
  4. Copy text from the chat window
  5. Try resizing the chat window and dragging it around

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

Summary by CodeRabbit

  • New Features

    • Introduced a new area for resizing the chatbot widget from the top, enhancing interactivity.
    • Added a new CSS class to support the resizing functionality.
  • Improvements

    • Updated the widget's resizing and dragging logic for better user interaction by restricting action initiation to specific areas.

@sebastianloose sebastianloose self-assigned this Nov 12, 2024
@sebastianloose sebastianloose requested a review from a team as a code owner November 12, 2024 12:48
@github-actions github-actions bot added the client Pull requests that update TypeScript code. (Added Automatically!) label Nov 12, 2024
Copy link

coderabbitai bot commented Nov 12, 2024

Walkthrough

The changes introduce a new structural element in the chatbot widget's HTML, specifically a <div> with the class chat-widget-top-resize-area. This addition is complemented by a corresponding CSS class that defines its styling, allowing for a designated area for resizing the chat widget from the top. Additionally, modifications to the IrisChatbotWidgetComponent class adjust the resizing and dragging functionalities, restricting these actions to specific areas and enhancing user interaction.

Changes

File Change Summary
src/main/webapp/app/iris/exercise-chatbot/widget/chatbot-widget.component.html Added a new <div> element with class chat-widget-top-resize-area for future styling or interaction.
src/main/webapp/app/iris/exercise-chatbot/widget/chatbot-widget.component.scss Introduced a new CSS class .chat-widget-top-resize-area with properties for height, width, and z-index.
src/main/webapp/app/iris/exercise-chatbot/widget/chatbot-widget.component.ts Modified IrisChatbotWidgetComponent to restrict resizing to the new area and dragging to elements with class .chat-header.

Possibly related PRs

Suggested labels

tests, ready for review, client, small, component:Communication

Suggested reviewers

  • rabeatwork
  • krusche
  • SimonEntholzer
  • az108
  • PaRangger

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot]

This comment was marked as off-topic.

Copy link

⚠️ Unable to deploy to test servers ⚠️

Testserver "artemis-test3.artemis.cit.tum.de" is already in use by PR #9802.

@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Nov 19, 2024
@alexjoham alexjoham added deploy:artemis-test1 and removed deployment-error Added by deployment workflows if an error occured labels Nov 19, 2024
@alexjoham alexjoham temporarily deployed to artemis-test1.artemis.cit.tum.de November 19, 2024 11:34 — with GitHub Actions Inactive
@alexjoham alexjoham temporarily deployed to artemis-test3.artemis.cit.tum.de November 19, 2024 11:46 — with GitHub Actions Inactive
Copy link
Member

@alexjoham alexjoham left a comment

Choose a reason for hiding this comment

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

The changes are looking good! I tested it on the test server, and it works as described!

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.

Changes look good. Will test on a test server, once a test server is free

Copy link

@HawKhiem HawKhiem 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 TS3. I could indeed copy and patse text from/into the chat window. Resizing of the chat box as well as moving the chat box works as described

Screen.Recording.2024-11-22.204546.mp4

Copy link

@flbrgit flbrgit 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 TS3, everything looks fine. The iris window is fully responsible at different screen sizes.
Screenshot 2024-11-23 135932

@ls1intum ls1intum deleted a comment from coderabbitai bot Nov 26, 2024
@alexjoham alexjoham linked an issue Nov 26, 2024 that may be closed by this pull request
@bassner bassner changed the title Iris: Fix copy text from iris exercise chatbot window Iris: Enable text copy-paste from Iris exercise chatbot window Nov 26, 2024
@bassner bassner added ready to merge maintainer-approved The feature maintainer has approved the PR and removed ready for review labels Nov 26, 2024
@bassner bassner added this to the 7.7.2 milestone Nov 26, 2024
@bassner bassner merged commit 17eb6ce into develop Nov 26, 2024
35 of 38 checks passed
@bassner bassner deleted the bugfix/iris/copy-text-fix branch November 26, 2024 13:16
@krusche krusche modified the milestones: 7.7.2, 7.7.3 Nov 26, 2024
@coderabbitai coderabbitai bot mentioned this pull request Dec 13, 2024
18 tasks
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!) maintainer-approved The feature maintainer has approved the PR ready to merge
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Iris: Messages cannot be marked in the text field
7 participants