Commit Graph

446 Commits

Author SHA1 Message Date
Abhinav Raut b04d9d6f8d Sign all avatar URLs in widget endpoints and WS broadcasts 2026-03-28 18:03:33 +05:30
Abhinav Raut c3f0b18392 Add participant activity note and visual indicator for non-contact senders 2026-03-28 14:50:58 +05:30
Abhinav Raut 1344700973 Remove insecure ref number matching, relax email constraint for ext_id contacts 2026-03-28 13:07:21 +05:30
Abhinav Raut 23e6a70844 Allow contacts with different external_user_ids to share email, add enrichment and remove email check from conversation matching 2026-03-28 12:29:44 +05:30
Abhinav Raut 8fd05667ac Improve sidebar semantics, form label hierarchy, and translate remaining hardcoded strings 2026-03-25 00:47:18 +05:30
Abhinav Raut 9652c6d4bc Clean up i18n keys, sort language files, and refactor admin UI components. 2026-03-24 01:42:35 +05:30
Abhinav Raut 395a4e80df Refactor ws updates to use direct json payloads instead of prop value pattern.
Add real-time agent availability status updates to widget.

Consolidate multiple WS broadcasts into single calls
2026-03-22 19:34:21 +05:30
Abhinav Raut 48175300ab Add rate limiting to public endpoints (auth, CSAT), fix rate limiter race condition and missing Content-Type header. Refactor rateLimitWidget into generic rateLimit middleware with config defaults. 2026-03-22 16:59:55 +05:30
Abhinav Raut bcd0ed4fd1 Show conversation status in search results 2026-03-22 15:17:07 +05:30
Abhinav Raut 34aecd268f Fix widget business hours: use assigned team hours instead of always defaulting, fix timezone offset calculation. Show continuity email indicator in agent UI, broadcast email replies to widget as a user could have widget open and reply from email at the same time. 2026-03-18 10:50:55 +05:30
Abhinav Raut a788553137 Use first unread message as subject for continuity emails, add ref number to continuity email subject.
- Continuity email layout fixes and improvments.
- Replace haikunator with email local part for visitor names, fallback to "Visitor"
- Add optional website_url config field for "go to chat" link in continuity email footer
- Remove unused / unncessary i18n keys.
2026-03-16 00:49:20 +05:30
Abhinav Raut b0f0215952 Fix attachment previews in pending messages
- Fix ci
2026-03-15 21:36:02 +05:30
Abhinav Raut b8e236713d Merge branch 'main' into feat/live-chat-channel 2026-03-15 21:09:21 +05:30
Abhinav Raut e7ab571c48 add reply guards, gravatar fallbacks for avatars, draft preview in conversation list, clickable agent avatars. Show sent messages immediately instead of waiting for WebSocket response. 2026-03-11 14:52:21 +05:30
Abhinav Raut 678239027e Refactor incoming message flow, add visitor upgrade on email reply, rate-limit livechat conversations 2026-03-11 12:19:58 +05:30
Abhinav Raut eb0a7b437d Add page visit tracking to widget
- fix duplicate initialization guard
- notification bell for agents
- Refactor and clean up dead code
- Fixes to pre chat form
- Add new column country to users table
- Update ratelimit pkg to be generic
2026-03-11 03:52:07 +05:30
Abhinav Raut 18764cb562 Redact websocket message content and let clients fetch the full message once they receive this event, this will make sure a client actually has permission to fetch that message.
- Reduce exessive GETs on WS events, debounce such requests.
2026-02-26 16:19:09 +05:30
Abhinav Raut 0b7c816407 Allow live chat widgets to detect lang from user browser and fallback to defaults set by admin.
New handler to return all available langs, remove hardcoded langs
2026-02-26 01:54:34 +05:30
Abhinav Raut 45a80118cc Fix CSAT responses not visible agent message bubble
- Fix csat form submission in widget
- Update vite config to allow cross origin requests
2026-02-26 00:35:49 +05:30
Abhinav Raut aeb153b15d fix: message meta not being saved 2026-02-25 23:32:02 +05:30
Abhinav Raut 4eb5dce12c Merge branch 'main' into feat/live-chat-channel 2026-02-22 15:13:36 +05:30
Abhinav Raut 81847c7f4e i18n: fix localization issues (#231)
Not backported to main due to extensive i18n refactoring changes in this branch.
2026-02-22 15:12:00 +05:30
Abhinav Raut 727213631c SSRF protection to webhooks
- New config webhook option to allow certain CIDR ranges in webhooks.
2026-02-16 02:40:05 +05:30
Abhinav Raut 7b7629d6fa Merge branch 'main' into feat/live-chat-channel 2026-02-11 00:27:59 +05:30
Abhinav Raut d0bad37464 feat: add support for toggling plus addressing for email inbox.
Fixes #233
2026-01-29 00:00:49 +05:30
Abhinav Raut c155fce93b feat: show contact offline / online status on sidebar
- mark contacts offline if not active for > 5 mins.
2026-01-26 03:28:34 +05:30
Abhinav Raut 70e6ebcc48 feat(widget): merge visitor to contact when new JWT is available i.e. when user logs into a an external system.
- Prevent file uploads on initial message, user send a message first to enable attachments.
- fix thumbs not loading with signature and expiry
2026-01-26 02:52:28 +05:30
Abhinav Raut a94c3846ec more fixes 2026-01-25 01:31:04 +05:30
Abhinav Raut f0e9266d28 more fixes to LC 2026-01-21 00:13:02 +05:30
Abhinav Raut 4409bd84e8 fix: set session store TTL to 9 hours.
Fixes #228
2026-01-19 23:46:12 +05:30
Abhinav Raut 107f1adb0d fix issues with threading with widget messages
- fix: live chat email inbox not being initialized.
- make launcher logo take entire launcher space.
- New columns last_interaction_sender_id and last_message_sender_id to track who sent last message in conversation
2026-01-18 13:47:07 +05:30
Abhinav Raut e2a9a00217 Live chat: add admin toggle to open widget directly into previous conversation / a new conversation
- Improve greeting and introduction messages to support template variables for user names.
2026-01-17 18:22:40 +05:30
Abhinav Raut 511f46440a fix merge conflict issues 2026-01-15 18:31:00 +05:30
Abhinav Raut 4d25ae737a reduce the number of fetched conversation messages from 1000 to 400 for livechat 2026-01-14 17:41:49 +05:30
Abhinav Raut 08acb099a1 fix build 2026-01-14 16:09:22 +05:30
Abhinav Raut 2421b964b7 fix merge conflcits 2026-01-14 15:53:15 +05:30
Abhinav Raut 7958d7e212 Merge branch 'main' into feat/live-chat-channel 2026-01-14 00:33:51 +05:30
Abhinav Raut 718a9e6b2e feat: Add entire conversation on webhook events, so clients don't have to fetch conversation again.
Closes #208
2026-01-11 20:33:36 +05:30
Abhinav Raut 5b393c2f19 add mention message content to mentioned msg notification 2026-01-11 18:27:55 +05:30
Abhinav Raut 1127d2967b add logo_url support for custom OIDC providers
- add microsoft option for providers
2026-01-11 17:18:19 +05:30
Abhinav Raut 54d3a47b0a set defaults page size and page paginated apis 2026-01-11 16:22:48 +05:30
Abhinav Raut c107c7a9f8 remove omit empty from null field as it doesn't work 2026-01-11 15:59:26 +05:30
Abhinav Raut a5357ff8fc refactor dispatcher 2026-01-11 15:03:20 +05:30
Abhinav Raut 173493a0ed handle panics in importer, translate messages and fix bugs 2026-01-09 03:26:22 +05:30
Abhinav Raut 18f5ff1868 Merge remote-tracking branch 'origin/main' into feat/bulk-agent-import 2026-01-09 01:32:59 +05:30
Abhinav Raut 91445d7dda Merge branch 'main' into feat-notifications 2026-01-09 01:06:34 +05:30
Abhinav Raut e59c31f64e remove unused notification retrieval query and related code
- add missing template in schema.sql
2026-01-09 00:39:44 +05:30
Abhinav Raut c8bfe36e2e feat: mark conversation as unread from context menu on conversation list 2026-01-07 11:56:51 +05:30
Abhinav Raut b8fa6c7b1a fix: include mentioned by details
and clear author for mentioned emails as it's automated
2026-01-07 11:24:37 +05:30
Abhinav Raut c20866d26d fix: update email notification template to correctly reference the user who mentioned 2026-01-06 12:59:11 +05:30