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
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
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
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
9ce5f60023
Fix widget business hours showing wrong time due to missing UTC offset
2026-04-02 01:45:47 +05:30