Skip to content

Conversation

@abhinavxd
Copy link
Owner

  • New vue app for serving live chat widget, created sub-directories inside frontend dir main and widget
  • Vite changes for both main app and widget app.
  • New backend live chat channel
  • APIs for live chat widget

Ref - #110

- new vue app for serving live chat widget, created subdirectories inside frontend dir `main` and `widget`
- vite changes for both main app and widget app.
- new backend live chat channel
- apis for live chat widget
@abhinavxd abhinavxd self-assigned this Jun 28, 2025
abhinavxd added 28 commits July 6, 2025 18:46
move last message details in the `meta` JSONB column of conversations
feat: Add HTTP utility functions for trusted origin checks

feat: Implement typing status broadcasting for live chat clients and agents.

feat: Add support for signed URLs in media manager

fix: Update database migration to handle duplicate visitors with same email address.

feat: Add conversation subscription and typing message models for WebSocket communication

feat: Implement conversation subscription management in WebSocket hub this is used for broadcasting typing indicator.

feat: Revamp widget JavaScript to improve mobile responsiveness and show unread messages if any.
…dget iframe.

feat: more methods to toggle wiget visibility
Update user and inbox models, queries, and migrations
…er header instead of origin.

- Removed the widgetOrigin middleware as it would have same origin as the iFrame URL, changed this to use `Referrer` header on initial iFrame load.
- Feat(agent-view): Added external_user_id display in the conversation sidebar.
…TTP headers

  - Add widgetAuth middleware to handle JWT and inbox validation consistently
  - Move authentication logic from request body to standard HTTP headers:
    * JWT: Authorization: Bearer <token>
    * Inbox ID: X-Libredesk-Inbox-ID: <id>
  - Refactor all widget handlers to use middleware context instead of duplicate auth code
  - Frontend now sends auth headers via HTTP interceptor for all widget requests
…starting chat.

fix: Chat initialization failing due to the JWT authenticated user doesn't exist in the DB yet.

fix: Always upsert custom attribues instead of replacing.
- update file imports to use shared-ui utils and remove redundant file.js
- Implement SignedURLStore interface for fs store
…-chat form.

- Deleted the VisitorInfoForm.vue component and its associated schema.
- Introduced a new preChatFormSchema.js to handle dynamic form validation.
- Updated ChatView.vue to conditionally display the PreChatForm based on user session and conversation state.
- Enhanced chat store to manage current conversation updates.
- Implemented WebSocket event handling for conversation updates.
- Updated localization files to include new terms related to the pre-chat form.
- Modified conversation management logic to support broadcasting updates to widget clients.
- Updated SQL queries to accommodate custom attributes for visitors.
update shadows for iframe and widget
…ist, simplify chat conversation SQL queries.

- add indexes to make conversation unread message count faster
@daidi
Copy link

daidi commented Oct 1, 2025

any updates?

@abhinavxd
Copy link
Owner Author

any updates?

Still being worked upon, maybe in a month this should be out.

…isitors are not authenticated.

Show a warning in sidebar when a conversation with a visitor is opened.

Move string.js utils to shared-ui utils

Modify user fetch queries to allow optional filter by multiple user types not just one.

Fix capitalizaiton for live chat en translations
New common CopyButton component for copying text to clipboard
@abhinavxd
Copy link
Owner Author

This is a WIP. It needed encryption and a few other pieces before going live. That’s now in place, so it should be up soon.

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.

3 participants