Skip to content

Integrate chat support with live WebSocket streaming - #127

Open
vikasbolla wants to merge 1 commit into
IBM:mainfrom
vikasbolla:integrate_chatbot
Open

Integrate chat support with live WebSocket streaming#127
vikasbolla wants to merge 1 commit into
IBM:mainfrom
vikasbolla:integrate_chatbot

Conversation

@vikasbolla

Copy link
Copy Markdown
Contributor

This PR integrates a real-time chat support system that allows users to contact admins directly from the power-access-cloud UI.

  • User chat widget — users can open a chat panel, send messages, view history, and end conversations. The connection is maintained over WebSocket so messages are delivered instantly without polling.
  • Admin chat panel — admins can see all active conversations with live unread indicators, open any conversation to read the full history, reply in real time, and end conversations on behalf of users.
  • WebSocket infrastructure — an in-memory pub/sub hub routes messages between the user's session goroutine and the admin's session goroutine without any database polling. Admin replies reach the user's browser in microseconds.
  • Persistent history — all messages are stored in MongoDB. When a user reconnects or navigates back to the chat, their full conversation history is restored. Ended conversations are recorded with a sentinel so the state survives server restarts.
  • Async DB writes — admin replies are written to the database via a background worker queue so the admin UI never blocks waiting for a DB round trip.

@vikasbolla
vikasbolla force-pushed the integrate_chatbot branch 2 times, most recently from d1f144b to 9239d57 Compare July 24, 2026 06:10
Signed-off-by: Vikas <vikas.satyanarayana.bolla@ibm.com>
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.

1 participant