264 Commits

Author SHA1 Message Date
Abhinav Raut 5c5c73b5b7 soft-refresh conversation list on inbox re-entry instead of refetching 2026-06-01 13:17:26 +05:30
Abhinav Raut 97df3ba7a6 fix: remove inbox keep-alive that caused duplicate admin requests 2026-06-01 13:06:52 +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 67ecf3a3a6 fix: keep the mentioned message in view when long messages collapse
Tall message bubbles above the target collapse to a max height right after they render. That shrank the space above and pushed the mentioned message off screen. We now re-pin the message until the layout stops moving.
2026-05-29 16:07:53 +05:30
Abhinav Raut f331b3cd8e Merge pull request #342 from jleroy/i18n/update-2026-05-26
Update translations [2025-05-26]
2026-05-29 01:13:23 +05:30
Abhinav Raut c8a5717b43 fix: filter search results by conversation read permission
Auto focus on search input
Trim search responses to 200 chars as more's not needed.
2026-05-28 21:38:57 +05:30
Jonathan Leroy a318b52b5c Update translations [2025-05-26] 2026-05-28 17:47:44 +02:00
Abhinav Raut 5594cce021 Merge pull request #341 from abhinavxd/widget-ws-improvements
fix: reliably sync widget missed messages on reconnect
2026-05-28 20:48:30 +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 bba99d45e5 fix: show typing indicator on scroll, hide view transition abort errors 2026-05-28 20:29:14 +05:30
Abhinav Raut 29881f2f82 fix: close ws stale-perm gaps and resub on reconnect
Reject disabled agents in FilterAuthorizedListUUIDs, kick role members on
permission removal or role delete, and re-sub the list and open conv on
ws reconnect using local state. Also plug the app logger into the ws
package so kicks no longer log when no connections exist.
2026-05-28 20:07:19 +05:30
Abhinav Raut 74e2213e75 fix: auto-resub list when conv uuids change 2026-05-28 19:30:01 +05:30
Abhinav Raut 743b00ee22 fix: address PR review across stores, ws broadcast, and sticky scroll 2026-05-28 18:32:16 +05:30
Abhinav Raut 5dfefabe52 fix: guard previous_conversations loop against nullish current 2026-05-28 17:39:16 +05:30
Abhinav Raut a0851bc709 fix: show typing indicator on scroll, hide view transition abort errors 2026-05-28 17:18:39 +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 b65d9679ae fix: scroll to target message on scrollTo deep-link instead of bottom 2026-05-27 02:14:23 +05:30
Abhinav Raut f58149291d refactor: dedupe overview report fetch/handler boilerplate 2026-05-26 12:52:07 +05:30
Abhinav Raut 214cc60374 fix: derive conversation list link context from route params, not name substring
route.name.includes('view') also matched 'overview', causing vue-router to
throw "Missing required param viewID" when the kept-alive conversation
list recomputed its links from /reports/overview. Switch to checking
route.params.teamID / route.params.viewID directly.
2026-05-26 12:07:34 +05:30
Abhinav Raut eb4e49adf0 fix: gate mark-as-read by route, clear stale lastInboxPath on load 2026-05-26 03:31:49 +05:30
Abhinav Raut 9f09d8c521 fix: dedupe parallel custom-attribute fetch, cache AI prompts in store 2026-05-26 03:06:35 +05:30
Abhinav Raut cd8eb5ee26 perf: keep-alive inbox layout to skip refetch on admin round-trip 2026-05-26 03:00:02 +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 92fe4f4539 tweak: scope conv list refresh interval to InboxView, bump to 2m 2026-05-25 23:18:34 +05:30
Abhinav Raut ad089fc79f fix: hide conv list items while skeleton is visible 2026-05-22 22:37:29 +05:30
Abhinav Raut e4fae78c2b tweak: bump skeleton minVisibleMs 300 -> 500ms 2026-05-22 22:23:38 +05:30
Abhinav Raut 46d56800b1 fix: skeleton not showing on slow network - View Transition was freezing render
`await fetchConversation` inside `document.startViewTransition` held the BEFORE
snapshot for the full fetch duration, hiding the in-flight skeleton. Reverting
to fire-and-forget; the view transition completes instantly and the fetch runs
in background so delayedLoading's 300ms skeleton renders normally.
2026-05-22 22:17:48 +05:30
Abhinav Raut 183c83b5e6 fix: prod crash from private methods, plus PR #336 review fixes 2026-05-22 21:29:57 +05:30
Abhinav Raut a502039e59 perf: WS push for conv list, store/cache cleanups, ad-hoc UI polish
Convs and messages now push the full list-row payload to perm-authorized agents on create/assign/message, so livechat returning customers bubble up instantly without waiting for the timer refresh. Background list refresh bumped 30s ->  60s as a drift safety net.
2026-05-22 20:47:36 +05:30
Abhinav Raut edc82e9e55 refactor: drop Casbin, centralize agent cache invalidation, dedupe pending SLAs 2026-05-21 21:24:42 +05:30
Abhinav Raut 33572efa04 fix: address WS PR review - stale cache retry, livechat buffer, last_active TOCTOU 2026-05-21 00:46:43 +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 2b6fd313d4 fix: S3 attachment URLs and missed conversation list updates 2026-05-19 21:27:04 +05:30
Abhinav Raut 9dfcb6bc90 fix: hide Gmail forward quoted text
Gmail forwards wrap content in <div class="gmail_quote gmail_quote_container">
instead of a blockquote, so the existing detector missed them.
2026-05-19 14:56:01 +05:30
Abhinav Raut c03477a066 fix: hide Yahoo Mail quoted text
Yahoo Mail wraps replies in <div class="yahoo_quoted">, which the quoted
text handling added in bae4c23b did not detect. Add the marker to the JS
detector and an attribute-suffix selector to .hide-quoted-text so the
"Show quoted text" toggle appears and the quote is hidden by default.
2026-05-19 14:49:05 +05:30
Abhinav Raut 1607997df3 feat: show inbox name in conversation sidebar 2026-05-19 14:19:44 +05:30
Abhinav Raut 15ca569610 fix: skip stale toasts and invalidate in-flight fetches on contact reset 2026-05-18 21:30:07 +05:30
Abhinav Raut 259b2abb27 fix: gate contact notes sidebar by read perm and add bottom padding to contact page 2026-05-18 21:22:38 +05:30
csr4422 a59f40e165 fix: prevent out-of-order responses in contact notes fetch 2026-05-18 20:54:48 +05:30
csr4422 fd2156006e feat: limit contact notes to 10 with view more button 2026-05-18 20:54:48 +05:30
csr4422 860527ab64 fix: reduce spacing in contact notes component 2026-05-18 20:54:48 +05:30
csr4422 b2a2fc320b fix: refetch notes on contact change in conversation sidebar 2026-05-18 20:54:48 +05:30
csr4422 82b419de80 feat: add contact notes accordion section to conversation sidebar 2026-05-18 20:54:48 +05:30
Abhinav Raut d96a37d337 Merge pull request #327 from abhinavxd/perf/conversation-store
Perf/conversation store
2026-05-18 19:04:26 +05:30
Abhinav Raut 41ef3fed90 fix conversation list fetch races and scope notification sound to current list and only play when tab is not open like whatsapp.
Remove unused fetch participants API.
Fix incorrect default language in schema.sql
Show correct draft preview when text editor only has
2026-05-18 18:40:25 +05:30
Jonathan Leroy 7cf476bf2e Fix some translations issues:
- Rename activityLog.type* keys used in activity log filter to
   activityLog.entryType* for more clarity
 - Rename actions.sendPrivateNote key to actions.addPrivateNote as note
   aren't sent out
 - Fix automations rulebox template to use component interpolation
   instead of multiple separate strings
 - Fix some source translations
2026-05-18 17:19:46 +05:30
Abhinav Raut adeb76c99b shrink conversation list page size and slow down conversation list refresh and participant fetches 2026-05-18 16:39:59 +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