Abhinav Raut
66cf21731f
dedupe page visits for widget
2026-04-13 00:33:59 +05:30
Abhinav Raut
c798c676a5
Hide server-side security fields in chat settings response and adjust iframe border radius
2026-04-12 23:17:11 +05:30
Abhinav Raut
dcf45fd168
Skip already attached media in new conversation api.
...
Extract common logic for new message and convo api.
New helper functions to fetch multiple medias in 1 shot
2026-04-12 23:02:22 +05:30
Abhinav Raut
7524ba6c19
Add support for custom attributes to createConversationRequest
...
More polishes to notif panel
Add `You` for current agent in select combobox.
Remove unncesary checks for existing notifications while marking it as read.
Send oldest SLA notifcation first (update sql query)
2026-04-12 22:54:54 +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
fd750b8cf4
Add tag importer with file similar to agent import.
...
Update help text across many admin sections for clarity
2026-04-09 15:35:29 +05:30
Abhinav Raut
a327ca69a7
Add new csat widget that just accepts
2026-04-09 13:55:39 +05:30
Abhinav Raut
de740245c1
Simplify custom static dir to single mapping that mirrors built-in static/ structure
2026-04-09 00:24:05 +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
e7eac6eb94
Strip csat uui for agents (session) but keep for api consumers
2026-04-08 12:57:05 +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
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
02f7c19082
Move trusted domaisn check to middleware
2026-04-04 22:21:34 +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
b34e581616
Skip redundant contact updates when JWT values unchanged
2026-04-04 18:42:44 +05:30
Abhinav Raut
73ea8741a2
Fix dev backend failing to start without the frontend being built.
2026-04-04 18:40:52 +05:30
Abhinav Raut
5a06a90152
Revert minification step for widget.js in production build process as the widget js is already very small and is not needed now
2026-04-04 18:36:36 +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
1118a6f465
Fix duplicate webhook events for conversations created via api
2026-04-02 15:10:14 +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
d0a3527269
Sync contact name/email from JWT on every widget request
2026-04-01 17:15:22 +05:30
Abhinav Raut
9610c15603
Simplify notification toggle check
2026-03-30 18:51:58 +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
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
7d8c2d9fa3
Check conversation ownership before broadcasting typing event on conversations
2026-03-30 02:23:07 +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
5f6ca63dc4
Refactor use already fetched inbox config and set it in ctx for widget handlers
2026-03-30 01:22:43 +05:30
Abhinav Raut
114656e64e
required jwt fields middleware for user
2026-03-30 01:10:02 +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
fb3ab68ef6
Sign avatar URLs in widget WS broadcasts, add CORS for launcher settings
2026-03-29 19:08:09 +05:30
Abhinav Raut
2d64cfcca3
Skip conversation access check for unattached media
2026-03-29 17:18:11 +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
eb94f2b06b
Refactor widget WS: fix concurrent writes
...
Update merge visitor to contact query to include other tables
Update default for continuity email config
2026-03-28 21:19:11 +05:30
Abhinav Raut
52995d1cfb
remove cache control headers for widget js file
2026-03-28 20:19:35 +05:30
Abhinav Raut
565732c5be
add rate limit to show csat page
2026-03-28 20:03:27 +05:30
Abhinav Raut
c8b717739c
Add isNewConversation param to CreateContactMessage, cap page size to 500
2026-03-28 19:36:26 +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
b04d9d6f8d
Sign all avatar URLs in widget endpoints and WS broadcasts
2026-03-28 18:03:33 +05:30
Abhinav Raut
1d36ddde91
Make first name mandatory for live chat jwt
2026-03-28 13:46:23 +05:30
Abhinav Raut
4e0f781bd7
enrich exit only if not already set
2026-03-28 13:23:58 +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
14a7bf4435
Add widget.js minification step to build; subtle shadows.
2026-03-25 11:26:08 +05:30
Abhinav Raut
c057560251
Sync prechat form labels with custom attributes; hide stale messages during chat load.
2026-03-25 11:16:30 +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
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
b8e236713d
Merge branch 'main' into feat/live-chat-channel
2026-03-15 21:09: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