Commit Graph

696 Commits

Author SHA1 Message Date
Abhinav Raut f6e099c696 Fix notification sound to only alert for new or hidden-tab conversations 2026-04-09 02:25:07 +05:30
Abhinav Raut 5b5b83728a Polish outer app login form layouts and improve email templates for consistency and clarity 2026-04-09 01:54:51 +05:30
Abhinav Raut ee26b62366 Disable widget actions when message is being sent
Fix widget input text area height
2026-04-09 01:25:51 +05:30
Abhinav Raut fa2d17ee15 Update conversation list item layout with channel indicator and improve SLA time format 2026-04-09 01:06:24 +05:30
Abhinav Raut 4c47dd8578 Drop redundant overdue text from compact SLA badges in conversation list 2026-04-09 00:41:23 +05:30
Abhinav Raut bb14b30121 Remove gravatar 2026-04-09 00:37:09 +05:30
Abhinav Raut 37269af934 Persist small screen overlay dismissal in session storage 2026-04-09 00:13:13 +05:30
Abhinav Raut 70f7b4f602 Add small screen overlay warning for agent dashboard on mobile devices 2026-04-09 00:10:07 +05:30
Abhinav Raut 88a58c0f3b Custom static directory support, self hosted installations can pass static dir path to override csat and other web-templates, js and css files. Allowing instances to be fully customizable.
- New meta JSONB field in CSAT responses to capture random adhoc data as that might be needed for custom CSAT pages.
- Add support prefilled rating for csat pages picked from query param
2026-04-09 00:04:00 +05:30
Abhinav Raut 14b29a7063 Resolve inline image CID references in message API responses instead of letting the api consumer handle it.
Fix make file go run cmd
2026-04-07 16:19:19 +05:30
Abhinav Raut bf7919747d Fix widget updateLastSeen firing on pre-load, skip for cached convo re-open 2026-04-06 15:18:33 +05:30
Abhinav Raut eea99130fa Defer widget launcher display until auth and conversation data are loaded 2026-04-06 14:21:36 +05:30
Abhinav Raut ceec9623cd Debounce update-last-seen on tab switch, throttle idle detection goOnline 2026-04-06 13:47:48 +05:30
Abhinav Raut 3e18ce15ad Polish sidebar page visits, make contact name linkable, fix redundant sync convo switch in widget on every tab change 2026-04-06 13:18:02 +05:30
Abhinav Raut 3db51ec02d Fix consolidate duplicate i18n keys that have same values
Polish csat page
2026-04-05 22:05:23 +05:30
Abhinav Raut 21824f6de9 Polish UI: fix reply box cutoff, refine scrollbars and text rendering 2026-04-05 20:42:55 +05:30
Abhinav Raut 54ecfb1c84 Fix own messages showing as unread in widget 2026-04-05 19:06:23 +05:30
Abhinav Raut 3c3d6a6149 feat: replace widget JWT auth with Redis session tokens and parent-domain cookies Fix iOS Safari session loss by moving storage from iframe localStorage to first-party cookies.
Add /auth/exchange, /auth/me endpoints for the same.

Fix duplicate network calls, and agent notification for new conversations.
2026-04-05 18:58:45 +05:30
Abhinav Raut 235afb2b88 Play notification sound when tab is hidden and defer last-seen updates when tab is hidden
Update js template rendered to use pipe syntax for fallbacks
2026-04-05 01:51:45 +05:30
Abhinav Raut 2839dcff88 Fix send typing indicators every 3 sec
Fix vite config
2026-04-05 01:06:22 +05:30
Abhinav Raut 88bb199da2 Clear typing indicators after 5 sec 2026-04-05 00:54:29 +05:30
Abhinav Raut 20ff4a157a Sync msgs immediately once widget comes back online 2026-04-05 00:32:01 +05:30
Abhinav Raut a71432eff9 Sync missed messages on widget WS connect to fix automation replies not appearing
Automation replies sent before the widget's WebSocket connection was
established (e.g. first message from a new visitor) were silently lost
because LiveChat.Send() returned ErrClientNotConnected. Now the widget
syncs conversations and messages on every WS join, reconnect, and
network recovery - silently to avoid loader flashes.
2026-04-05 00:18:46 +05:30
Abhinav Raut 154be058e4 Fix widget mobile view zooming in for ios as the msg input had text size < 16 px.
More fixes for widget mobile view
Sync messages once websocket is connected
2026-04-05 00:09:37 +05:30
Abhinav Raut 5367bafa09 fix chunking for widget app 2026-04-04 21:39:49 +05:30
Abhinav Raut 6abb6ad017 Move continuity config and intervals to live chat inbox form from toml.
- Refactor widget.js.
- Fix possible race conditions in inbox reload logic.
- Reload only the updated inbox when an inbox is updated / created not all.
- Retain last inbox while navigatin back from admin -> inbox
2026-04-04 21:35:04 +05:30
Abhinav Raut 87ab8f5c73 Fix sidebar user dropdown positioning and notification panel double-fetch 2026-04-04 18:52:20 +05:30
Abhinav Raut 0a9e57dcc5 Revamp live chat widget JS API, use inbox UUID, non-blocking installation
Update installation instructions for clarity
Remove unncessary convo custom attribs being passed in JWT tokens for live chat
2026-04-04 18:11:54 +05:30
Abhinav Raut 000fd83b30 Add uuid column to inboxes table to use as widget public identifiers
Auto focus on form inputs in widget
Use defer widget in widget installation script
2026-04-03 02:34:07 +05:30
Abhinav Raut 090ea7393d Update caniuse-lite browserslist database 2026-04-02 14:35:27 +05:30
Abhinav Raut 9ce5f60023 Fix widget business hours showing wrong time due to missing UTC offset 2026-04-02 01:45:47 +05:30
Abhinav Raut 13db8d2843 Fix command palette macros not working due to previous variable rename causing issues.
Improve sidebar navigation to retain open conversation

Fix notification when disabled app still tries sending emails.
2026-03-30 18:51:23 +05:30
Abhinav Raut 2a8d4b3a96 Fix notification count in document title on navigation 2026-03-30 17:17:27 +05:30
Abhinav Raut 747d3ca781 Preserve notification count in document title on navigation 2026-03-30 17:08:04 +05:30
Abhinav Raut 3c00028c5b Fix gravatar not visible in convo list 2026-03-30 17:01:51 +05:30
Abhinav Raut b1bef238cf Feat: context links, context links allow admins to set urls to external system from sidebar with encrypted payload in query parameters. 2026-03-30 16:00:37 +05:30
Abhinav Raut 18409589ed Show default name and email fields in pre-chat form config 2026-03-30 03:05:22 +05:30
Abhinav Raut 9ae8100e8a Use widget upload API response directly instead of refetchign entire conversation
Return ChatMessage format in upload api
Fix scroll on content replace
2026-03-30 02:04:23 +05:30
Abhinav Raut 5590ae6ae3 Create contact from JWT in widget middleware for visitor merge, fix message input focus and pending cleanup 2026-03-30 00:28:33 +05:30
Abhinav Raut faa23967bf Focus back on text area once widget message is sent
Sign pending avatar urls
2026-03-29 23:35:26 +05:30
Abhinav Raut c06311b93b Rename AdminPageWithHelp to AdminSplitLayout 2026-03-29 16:52:38 +05:30
Abhinav Raut ed9b97f16e Polish message bubble envelope 2026-03-29 14:13:32 +05:30
Abhinav Raut 789a58ed0c Add echo_id for pending message matching, show ext_id in contact search, minor UI polish 2026-03-29 13:32:38 +05:30
Abhinav Raut 653266c6bc Remove unused readme file
Remove participant tooltip for message bubbler as activity log takes care of it
Fix create sender before creating conversation
2026-03-28 22:51:35 +05:30
Abhinav Raut 11eb4d0edc Translate remaining hardcoded eng strings. 2026-03-28 21:48:19 +05:30
Abhinav Raut 42f5a7faf5 Show ext id in contact list 2026-03-28 19:59:13 +05:30
Abhinav Raut ea0443e80b Fix contact detail: consistent text-xs font size, add icons for external ID and created date 2026-03-28 19:47:44 +05:30
Abhinav Raut 2b645fa4e8 Security fixes: rate-limit widget endpoints, remove JWT from logs, harden middleware checks
Increase max page size to 500
Allow large out of bound page sizes by overriding to maximum set.
Reset websocket reconnect attempts when widget is back online
2026-03-28 19:27:41 +05:30
Abhinav Raut 6a7ecf6b8a Resolve sender using conversation context, show ext_id on contact detail 2026-03-28 18:44:57 +05:30
Abhinav Raut 2f81d60a6f Widget: larger prechat textarea, check email for participant activity, fix notification sound 2026-03-28 18:32:08 +05:30