Skip to content

Conversation

@debsmita1
Copy link
Member

@debsmita1 debsmita1 commented Dec 23, 2025

Hey, I just made a Pull Request!

Resolves:
Part of https://issues.redhat.com/browse/RHIDP-9381

Solution description:

  • This PR introduces chatbot display modes for the Lightspeed plugin:
    - 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)
  • Adds drawer state management utilities that enable seamless integration with ApplicationDrawer in RHDH
    - 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
  • Lightspeed will now be accessed via a floating action button
  • Persisting the input text message when switching modes
  • Updated the QuickStarts plugin to follow the same

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

  • 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
Copy link

rhdh-gh-app bot commented Dec 23, 2025

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
@red-hat-developer-hub/backstage-plugin-global-floating-action-button workspaces/global-floating-action-button/plugins/global-floating-action-button patch v1.7.1
app workspaces/lightspeed/packages/app none v0.0.0
@red-hat-developer-hub/backstage-plugin-lightspeed workspaces/lightspeed/plugins/lightspeed minor v1.1.2
@red-hat-developer-hub/backstage-plugin-quickstart workspaces/quickstart/plugins/quickstart patch v1.8.1

@debsmita1 debsmita1 force-pushed the add-display-modes branch 14 times, most recently from 5165e8f to b9a69af Compare December 30, 2025 07:56
@debsmita1 debsmita1 changed the title [WIP]: feat(lightspeed): Add Developer Lightspeed Chat Popup/Button feat(lightspeed): Add Developer Lightspeed Chat Popup/Button Dec 30, 2025
Copy link
Contributor

@HusneShabbir HusneShabbir left a 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:

  1. The placeholder text and the alert message below is not in sync with the Figma design.

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

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

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

@HusneShabbir
Copy link
Contributor

HusneShabbir commented Jan 6, 2026

@debsmita1 can you please merge PR debsmita1#3?
With those changes in place, I’m expecting the tests to pass.
Screenshot 2026-01-06 at 2 27 29 PM

Copy link
Contributor

@HusneShabbir HusneShabbir left a 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

This comment was marked as duplicate.

Copy link
Contributor

@HusneShabbir HusneShabbir left a 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.

@openshift-ci openshift-ci bot removed the lgtm label Jan 12, 2026
@debsmita1 debsmita1 requested a review from benwilcock January 12, 2026 17:03
mountPoints:
- mountPoint: application/listener
importName: LightspeedFAB
- mountPoint: application/provider
Copy link
Contributor

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?

Copy link
Member Author

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

@debsmita1
Copy link
Member Author

debsmita1 commented Jan 13, 2026

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

Copy link
Contributor

@rohitkrai03 rohitkrai03 left a comment

Choose a reason for hiding this comment

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

/approve
/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Jan 13, 2026

New changes are detected. LGTM label has been removed.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants