-
Notifications
You must be signed in to change notification settings - Fork 85
feat(lightspeed): Add Developer Lightspeed Chat Popup/Button #1982
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
base: main
Are you sure you want to change the base?
Conversation
|
Important This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior. Changed Packages
|
5165e8f to
b9a69af
Compare
b9a69af to
106856f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@debsmita1 Thanks for the PR — the functionality works as expected. I have a few observations:
-
The placeholder text and the alert message below is not in sync with the Figma design.
-
In the chat history sidebar, the New Chat and Close buttons are swapped (for overlay & dock to window modes). The current behavior seems ideal, but it differs from what’s shown in Figma.
-
In both overlay and dock-to-window display modes, pinned chats are listed as collapsible in the Figma design, which appears to be missing in this PR.
-
Tests are failing because the Lightspeed plugin is not present in the navigation sidebar. This might require minor tweaks in the existing tests. /cc @jrichter1
Please take a look and let me know your thoughts.
|
@debsmita1 can you please merge PR debsmita1#3? |
ce76bc0 to
3b7f923
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noticed an inconsistency in behavior when using the Escape (ESC) key while accessing chatbot options.
In overlay mode, pressing ESC currently closes the entire Lightspeed window. The expected behavior is that ESC should only close the chatbot options dialog. If the user presses ESC again, it should then close the Lightspeed window. This would align the behavior in overlay mode with other modes, ensuring consistency across the application.
I’ve attached a video reference for better understanding.
Screen.Recording.2026-01-10.at.10.44.48.PM.mov
HusneShabbir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm,
#debsmita1#4 here's a PR on top of yours adding E2E tests for the enhancements. Please review and merge when you're ready.
workspaces/lightspeed/plugins/lightspeed/src/components/LightSpeedChat.tsx
Outdated
Show resolved
Hide resolved
workspaces/lightspeed/plugins/lightspeed/src/components/LightSpeedChat.tsx
Outdated
Show resolved
Hide resolved
workspaces/lightspeed/plugins/lightspeed/src/components/LightspeedDrawerProvider.tsx
Outdated
Show resolved
Hide resolved
| mountPoints: | ||
| - mountPoint: application/listener | ||
| importName: LightspeedFAB | ||
| - mountPoint: application/provider |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you still need to contribute an application/provider? Isn't ApplicationDrawer rendered in RHDH your new provider? I thought only content can be rendered inside drawer and the state exposers then help manage the state of the drawer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ApplicationDrawer only consumes the drawer contents and the drawer states, it shouldn't need the other context info of the Drawers. It only renders the Drawer. The LightspeedChat and the QuickStarts still require the other context info that the Provider components provide
90ac5fc to
08b193f
Compare
@HusneShabbir I have created this bug https://issues.redhat.com/browse/RHDHBUGS-2490 to address this issue For persisting attached files, I have created this https://issues.redhat.com/browse/RHDHBUGS-2491 cc @rohitkrai03 |
08b193f to
8e50b78
Compare
workspaces/lightspeed/plugins/lightspeed/src/components/LightSpeedChat.tsx
Outdated
Show resolved
Hide resolved
workspaces/lightspeed/plugins/lightspeed/src/components/LightspeedFAB.tsx
Show resolved
Hide resolved
workspaces/quickstart/plugins/quickstart/src/components/QuickstartDrawerContent.tsx
Outdated
Show resolved
Hide resolved
rohitkrai03
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
/lgtm
8e50b78 to
b4cb90a
Compare
|
New changes are detected. LGTM label has been removed. |
b4cb90a to
422878f
Compare
422878f to
6397e99
Compare
|




Hey, I just made a Pull Request!
Resolves:
Part of https://issues.redhat.com/browse/RHIDP-9381
Solution description:
- Overlay - Chatbot appears as a floating overlay
- Docked - Chatbot docks to the side of the window
- Fullscreen - Chatbot expands to full screen with a dedicated route, appending the active conversation ID to the URL (if one exists)
- QuickstartDrawerStateExposer - Component to expose partial drawer state, which can be consumed by the ApplicationDrawer in RHDH (feat: add new drawer mount points rhdh#3947)
- Separated Drawer content from the Drawer container for better reusability
GIF:
On rhdh-plugins
Screen.Recording.2026-01-09.at.11.56.25.PM.mov
With active conversation switching to Full-screen mode
Screen.Recording.2026-01-09.at.11.58.05.PM.mov
on RHDH with Quickstarts drawer
Screen.Recording.2026-01-10.at.12.05.32.AM.mov
✔️ Checklist