Commit Graph

104 Commits

Author SHA1 Message Date
Abhinav Raut 34241f7d67 improve AI agent context and disclosure
Pass the conversation subject to the AI agent, show the AI's own expectation in the chat widget while it handles a chat, and label AI messages in continuity emails.
2026-07-12 16:34:36 +05:30
Abhinav Raut a7288e11b0 add AI assistant expectation message shown in the livechat widget 2026-07-12 13:29:59 +05:30
Abhinav Raut 6cb8bceeb9 prefill country code for optional phone fields too in pre-chat form 2026-07-10 01:21:27 +05:30
Abhinav Raut 9c6a6c254d fix widget draft attachments, prechat phone default, and shadow tweaks
Draft attachments now keep url and disposition, so a restored draft can render its attachments correctly instead of losing them.

The prechat phone field now picks a country code from the browser locale when the field is required (falling back to US), so users are not forced to pick one manually. Non-required phone fields still start blank.

Also soften the widget iframe and launcher bubble box shadows to a lighter, tinted look.
2026-07-10 01:09:09 +05:30
Abhinav Raut 8a8d372a70 use one phone field in livechat JWT and fix phone validation 2026-07-09 02:27:08 +05:30
Abhinav Raut 8f658f274d add livechat pre-chat phone field and fix default launcher logo 2026-07-09 01:49:38 +05:30
Abhinav Raut 3bf95aeac1 add novalidate to remaining vee-validate forms 2026-07-08 01:44:29 +05:30
Abhinav Raut cb081b4b38 update font family to Instrument Sans 2026-06-06 19:58:07 +05:30
Abhinav Raut 870f66c229 fix: sanitize invalid UTF-8 in incoming email, fix widget scroll flicker 2026-05-29 21:00:48 +05:30
Abhinav Raut 9159c26d5f fix: clean up widget ws state on close and announce banner to screen readers 2026-05-28 20:40:54 +05:30
Abhinav Raut 8faf06ed99 fix: reliably sync widget missed messages on reconnect
Update connection status banner to show more intermediate connection statuses like connecting.. and connected.
2026-05-27 19:05:01 +05:30
Abhinav Raut e5ffe11394 Fix edge cases in auto scrolling behavior.
Extract sticky scroller to a composable for main & widget apps.
2026-05-26 02:18:48 +05:30
Abhinav Raut 7a8efcde16 fix: widget ping interval, last_active flush, ws ping error, slim new_message payload 2026-05-21 00:13:33 +05:30
Abhinav Raut 43ebed1c3a WS rewrite: per-client subscriptions and perf improvements
Targets broadcasts via per-tab list and open subs (validated at subscribe time)
instead of broadcasting message uuid to all agents. Adds frontend list typing, throttled sound,
and many perf improvements to reduce cpu memory & database queries.
Other fixes: Enforce message-to-conversation binding in handleGetMessage
2026-05-20 23:42:07 +05:30
Abhinav Raut c85cb90bef Merge pull request #317 from jleroy/i18n/update-2026-05-15
Update translations [2026-05-15] and add regions names in languages filenames
2026-05-18 15:24:43 +05:30
Jonathan Leroy d482267ed9 Make browser language detection keep the full locale, including
region code
2026-05-18 02:57:32 +02:00
Abhinav Raut bae4c23b01 hide outlook/hotmail quoted text correctly and fix html email whitespace 2026-05-18 00:30:13 +05:30
Abhinav Raut e048ba5716 improve conversation thread and inbox list ux
Add expand button for long message bubbles, group consecutive same-sender
messages within a minute, and fix the conversation list highlight contrast
(Fixes #321). Also bumps vue-letter to 0.2.1 to allow CSS transforms in email content
2026-05-17 22:54:05 +05:30
Jonathan Leroy 64ccdeae6b Set frontend default locales to "en-US" 2026-05-15 09:18:57 +02:00
Abhinav Raut 9c2483a7c0 Harden attachment paths: drop PDF iframe, noopener/noreferrer everywhere, rename components so they don't confuse me anymore. 2026-05-14 17:06:35 +05:30
Abhinav Raut be7369d64f Update widget unread count style 2026-04-25 12:36:59 +05:30
Abhinav Raut ea4f8d75d3 cap unread message count badge at 9+ since backend caps at 10 2026-04-25 12:30:08 +05:30
Abhinav Raut 189162b61f Clear typing indicator when switching conversations 2026-04-17 00:06:13 +05:30
Abhinav Raut 286d409a74 Cap lengths on JWT/form name/email and restrict JWT user_id to contact or visitor 2026-04-16 03:27:50 +05:30
Abhinav Raut 6ef17eeae6 Make widget /auth/exchange idempotent
Prevent tokens sent twice from widget.js, send only once.
Update doc strings & comments for clarity.
Fix error handling
2026-04-16 01:16:24 +05:30
Abhinav Raut aceecd99b3 Lazy-load emoji picker swap to lighter lib later 2026-04-15 20:50:26 +05:30
Abhinav Raut 300e9b1238 Drop widget secondary color and auto-derive primary foreground for text selection. 2026-04-15 20:17:56 +05:30
Abhinav Raut c61073750e Centralize widget 401 handling in axios response interceptor, clear session and visitor cookies on expiry 2026-04-15 01:10:04 +05:30
Abhinav Raut 508e0a4196 Fix missing border for single conversation in widget 2026-04-14 02:57:40 +05:30
Abhinav Raut 1cb6074b1c Sync widget isOpen state across all open/close paths 2026-04-13 23:16:24 +05:30
Abhinav Raut c5c6a6b57e Clamp launcher spacing to 0-200, extend home gradient behind first card 2026-04-13 22:37:22 +05:30
Abhinav Raut c98c87d478 Fix visitor own messages counted as unread; set waiting_since on new conversations 2026-04-13 22:36:02 +05:30
Abhinav Raut c15ac8e102 Update ArrowRight icon size in HomeView.vue 2026-04-13 11:06:55 +05:30
Abhinav Raut e860164ad7 Add widget home screen customization with configurable backgrounds, announcements, and external links
Fix inconsistnet close button for mobile devices.
2026-04-13 04:01:07 +05:30
Abhinav Raut 710746c15e restyle widget bottom nav tabs to vertical layout with larger tap targets 2026-04-13 01:58:38 +05:30
Abhinav Raut 6aea4c9895 Removed the Stepper component and replaced it with a simpler MenuCard layout for channel selection in NewInbox.vue.
- Introduced a new SwitchField component for better UI consistency.
- Updated WebSocket client to remove unnecessary token and inbox_id from ping and typing messages.
- Added session duration configuration to the livechat channel settings in the backend.
2026-04-13 01:38:53 +05:30
Abhinav Raut 588c364821 Include visitor name in chat init response
Fixes for correctly conversations and messages
Rename establishSession to saveSess
2026-04-12 16:17:10 +05:30
Abhinav Raut 64eb4e4c8b Fix widget greeting overflow with long names. Sync messages on every WS connect 2026-04-12 13:10:17 +05:30
Abhinav Raut edb65650d9 Fix incorrect unread message count when a continuity message is auto sent in conversation
Remove dead widget code
Add config.toml to goreleaser
2026-04-12 03:18:47 +05:30
Abhinav Raut 8846ede8c7 standardize project name to lowercase "libredesk" across documentation, UI, and codebase.
Vue router console warning fixes
2026-04-10 16:33:27 +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 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 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 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