Skip to content

feat(lightspeed): chat history management - #1804

Merged
karthikjeeyar merged 5 commits into
redhat-developer:mainfrom
debsmita1:lightspeed-chat-management
Nov 27, 2025
Merged

feat(lightspeed): chat history management#1804
karthikjeeyar merged 5 commits into
redhat-developer:mainfrom
debsmita1:lightspeed-chat-management

Conversation

@debsmita1

@debsmita1 debsmita1 commented Nov 17, 2025

Copy link
Copy Markdown
Member

Hey, I just made a Pull Request!

Resolves:

Solution description:

  • Added missing translations for untranslated labels across the Lightspeed chat UI.
  • Added lightspeed settings kebab menu with actions to enable or disable pinned chats.
  • Added a new “Pinned” section. The section is conditionally visible only when pining chats is enabled in Lightspeed settings. It shows an empty state when no chats are pinned. Note: Persistence of pinned chats is not included in this PR. It will be implemented in a separate ticket.
  • Added Kebab menu actions to each chat item with actions: Rename, Pin, Unpin
  • Implemented logic to move chats between the Pinned and Recent sections based on the selected action (“Pin” / “Unpin”).
  • Updated search behavior to show results under both Pinned (when enabled) and Recent groups, including appropriate empty search messaging.
  • The Rename action opens a dialog with an editable text field and confirm/cancel actions.
  • Replaced the patternfly components with MUI to match the Figma designs Design 1
    Design 2

GIF/Screenshots:
Screenshot 2025-11-19 at 12 53 30 AM
Screenshot 2025-11-19 at 12 53 48 AM
Screenshot 2025-11-19 at 12 54 12 AM

Screen.Recording.2025-11-19.at.12.42.38.AM.mov
Screen.Recording.2025-11-19.at.12.52.30.AM.mov

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

@rhdh-gh-app

rhdh-gh-app Bot commented Nov 17, 2025

Copy link
Copy Markdown

Changed Packages

Package Name Package Path Changeset Bump Current Version
app workspaces/lightspeed/packages/app none v0.0.0
@red-hat-developer-hub/backstage-plugin-lightspeed-common workspaces/lightspeed/plugins/lightspeed-common patch v1.0.3
@red-hat-developer-hub/backstage-plugin-lightspeed workspaces/lightspeed/plugins/lightspeed patch v1.0.3

@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch 4 times, most recently from 73b798c to 0746ca7 Compare November 18, 2025 17:21
@debsmita1
debsmita1 requested a review from yangcao77 as a code owner November 18, 2025 17:21
@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch 7 times, most recently from 2a3ab1e to 4a97e5d Compare November 18, 2025 19:25
@debsmita1 debsmita1 changed the title [WIP] Lightspeed chat management Lightspeed chat history management Nov 18, 2025
@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch 2 times, most recently from 8ca5997 to c6ae552 Compare November 19, 2025 06:42

@rohitkrai03 rohitkrai03 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@jrichter1

Copy link
Copy Markdown
Member

With the changes we definitely need to update the playwright tests. If you need help with that, give me or @HusneShabbir a shout.

@HusneShabbir HusneShabbir left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could we update the Lightspeed settings kebab menu to be vertical here, similar to how it is in Figma?

@openshift-ci openshift-ci Bot removed the lgtm label Nov 21, 2025
@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch from 87e3577 to acebff3 Compare November 24, 2025 11:45

@HusneShabbir HusneShabbir left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm,
works as expected

@aprilma419

Copy link
Copy Markdown

LGTM, thanks!

@HusneShabbir
HusneShabbir self-requested a review November 25, 2025 09:26
@karthikjeeyar

karthikjeeyar commented Nov 25, 2025

Copy link
Copy Markdown
Member

Overall looks great 🎉 I have a couple of questions

  1. Empty state text for unmatched search query shows No pinned chats and No recent chats, this feels incorrect and ambiguous.
image
  1. No pinned chats and No recent chats options are clickable and clicking on it takes you to a new conversation. should It be clickable? Ideally it should be just a text not a button but if it is a limitation today can we disable it?
Clickable_pinned_items.mov

Comment thread workspaces/lightspeed/plugins/lightspeed-common/src/permissions.ts
@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch from b7a0edd to 9e60496 Compare November 25, 2025 10:31
@openshift-ci openshift-ci Bot removed the lgtm label Nov 25, 2025
@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch from 9e60496 to ca36712 Compare November 25, 2025 10:43
@debsmita1

Copy link
Copy Markdown
Member Author

Overall looks great 🎉 I have a couple of questions

  1. Empty state text for unmatched search query shows No pinned chats and No recent chats, this feels incorrect and ambiguous.
image 2. `No pinned chats` and `No recent chats` options are clickable and clicking on it takes you to a new conversation. should It be clickable? Ideally it should be just a text not a button but if it is a limitation today can we disable it?

Clickable_pinned_items.mov

Fixed
Screenshot 2025-11-25 at 4 06 35 PM

@aprilma419

aprilma419 commented Nov 25, 2025

Copy link
Copy Markdown

To @karthikjeeyar 's point, agree that the empty states for the search results should be different from the normal ones.

Once users search with a keyword and no results are found, I think we only need one empty state message, such as “No results match your search.”

If either the pinned or recent section contains matching items, we show those results. For the section with no matches, we can still use the same empty state message.

See the example:
Screenshot 2025-11-25 at 19 43 23
Screenshot 2025-11-25 at 19 14 28

cc. @debsmita1

@debsmita1
debsmita1 force-pushed the lightspeed-chat-management branch from ca36712 to bf4e9b1 Compare November 25, 2025 18:11
@debsmita1

Copy link
Copy Markdown
Member Author

To @karthikjeeyar 's point, agree that the empty states for the search results should be different from the normal ones.

Once users search with a keyword and no results are found, I think we only need one empty state message, such as “No results match your search.”

If either the pinned or recent section contains matching items, we show those results. For the section with no matches, we can still use the same empty state message.

See the example: Screenshot 2025-11-25 at 19 43 23 Screenshot 2025-11-25 at 19 14 28

cc. @debsmita1

Updated
Screenshot 2025-11-25 at 11 39 17 PM

@karthikjeeyar

Copy link
Copy Markdown
Member

@debsmita1 In case if both of the sections does not have results to show, then it should default empty state as April mentioned.

Right now, search empty state messages are pushed into the filteredConversation array so PF's default empty state never shown in the UI. If all the sections are empty then do not push them into the array, so that default empty state will start to show up.

@sonarqubecloud

Copy link
Copy Markdown

@debsmita1

Copy link
Copy Markdown
Member Author

@debsmita1 In case if both of the sections does not have results to show, then it should default empty state as April mentioned.

Right now, search empty state messages are pushed into the filteredConversation array so PF's default empty state never shown in the UI. If all the sections are empty then do not push them into the array, so that default empty state will start to show up.

PTAL
https://github.com/user-attachments/assets/709b357d-a6ea-4b45-9bb0-a0ea47893bb4

@HusneShabbir

Copy link
Copy Markdown
Member

/lgtm
It would be great if we could wait until this PR is merged.
Having it in would ensure that all the search combinations are validated on each CI check moving forward.

@openshift-ci openshift-ci Bot added the lgtm label Nov 27, 2025
@karthikjeeyar

Copy link
Copy Markdown
Member

Debsmita is not available to merge the e2e PR on her branch until next week, so I suggest let us merge this PR and @HusneShabbir can open a separate PR.

@karthikjeeyar karthikjeeyar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/approve
/lgtm

@karthikjeeyar
karthikjeeyar merged commit 58e26ba into redhat-developer:main Nov 27, 2025
10 checks passed
@debsmita1 debsmita1 changed the title Lightspeed chat history management feat(lightspeed): chat history management Nov 27, 2025
elai-shalev pushed a commit to elai-shalev/rhdh-plugins that referenced this pull request Jan 21, 2026
* feat(lightspeed): chat history management

* feat(lightspeed): chat history management

* add tests for chat management

* update the search empty state and add tests

---------

Co-authored-by: HusneShabbir <husneshabbir447@gmail.com>
elai-shalev pushed a commit to elai-shalev/rhdh-plugins that referenced this pull request Jan 21, 2026
* feat(lightspeed): chat history management

* feat(lightspeed): chat history management

* add tests for chat management

* update the search empty state and add tests

---------

Co-authored-by: HusneShabbir <husneshabbir447@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants