Abhinav Raut
06b36b74fd
Add prompt-to-tag-on-reply inbox setting
2026-04-21 20:24:19 +05:30
Abhinav Raut
bcd93514ef
Fix caret overflow in ComboBox trigger for long labels
2026-04-21 19:43:30 +05:30
Abhinav Raut
66db129b66
Refetch conversations when the open view is edited
2026-04-21 19:22:18 +05:30
Abhinav Raut
68a587bc76
Remove filter value when operator changes from / to between
2026-04-21 19:10:31 +05:30
Abhinav Raut
c16ad26d2d
Add Range Calendar shadcn component for filters
2026-04-21 18:41:01 +05:30
Abhinav Raut
7aa48641e1
Fix spinner position in admin panels
2026-04-21 18:40:10 +05:30
Abhinav Raut
00785c6061
WIP: More filters to views
...
Virtualize agent list and tag list.
2026-04-19 17:22:49 +05:30
Abhinav Raut
c645df820d
Fix widget auto-init race when script is served from memory cache
v2.1.1
2026-04-17 18:39:50 +05:30
Abhinav Raut
e3b82f0344
Update README.md
2026-04-17 04:03:42 +05:30
Abhinav Raut
c08335501b
Update ROADMAP.md
2026-04-17 03:55:46 +05:30
Abhinav Raut
212f0dd4f2
Update readme
2026-04-17 03:44:42 +05:30
Abhinav Raut
a14d1dd0bc
Merge pull request #114 from abhinavxd/feat/live-chat-channel
...
Live chat with widget
v2.1.0
2026-04-17 03:09:08 +05:30
Abhinav Raut
f7cbfb525c
Hard widget endpoints
...
- Gate widget inbox_id on UUID to prevent enumeration.
- Throttle inbound WS frames per connection (typing/page_visit/ping)
- Restrict admin-set URLs to http/https
- Apply closed-conversation reply guard to media upload path (was text-only)
- Reject empty uploads and use io.ReadAll
- Validate inbox config before DB create; drop unused func VerifySignature
2026-04-17 02:41:40 +05:30
Abhinav Raut
dfa9808168
Consolidate widget iframe layout and honor prefers-reduced-motion
2026-04-17 00:55:51 +05:30
Abhinav Raut
0258002190
Fix contact_email log field to unwrap null.String
2026-04-17 00:18:47 +05:30
Abhinav Raut
189162b61f
Clear typing indicator when switching conversations
2026-04-17 00:06:13 +05:30
Abhinav Raut
785c989a6b
Flatten continuity config into [conversation] as continuity_scan_interval
2026-04-17 00:03:37 +05:30
Abhinav Raut
fdb5a507d2
Add 7-day TTL window on visitor-to-contact upgrade via continuity email reply
2026-04-16 12:50:38 +05:30
Abhinav Raut
00039191eb
Harden widget apis: strip agent emails, fix cross-inbox merge, and tighten auth
...
Don't render svgs inline for s3.
2026-04-16 11:26: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
a8a6a97814
Prevent stored XSS via SVG uploads
2026-04-16 03:13:45 +05:30
Abhinav Raut
d7d58bebdb
Lock agent WS to same-origin and set SameSite=Lax on session cookie
2026-04-16 03:13:09 +05:30
Abhinav Raut
5e7575b08e
Add inbox validation to conversation access control
2026-04-16 02:52:01 +05:30
Abhinav Raut
de55a984e7
Set read limit for ws connections and handle panics in widget WS forwarder
2026-04-16 02:51:50 +05:30
Abhinav Raut
fd0e871a79
Add max chat message length validation
...
Use CSP headers to for trusted domains instead of referrer header checks.
Update description for trusted domains
2026-04-16 02:30:02 +05:30
Abhinav Raut
a55a3237ce
Make outer app label text muted
2026-04-16 01:22:50 +05:30
Abhinav Raut
fa645481f9
Make outer app form labels muted
2026-04-16 01:16:48 +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
de8c825c4f
Increase widget iframe and launcher shadow depth
2026-04-15 19:52:41 +05:30
Abhinav Raut
ceb1022bcb
Increase gap between title and description in contact block confirmation dialog
2026-04-15 13:22:03 +05:30
Abhinav Raut
3fb75fbdde
Make contact email matching deterministic and scope contact blocking to the email address
2026-04-15 12:50:55 +05:30
Abhinav Raut
cd59a11166
Update ROADMAP.md
2026-04-15 03:09:17 +05:30
Abhinav Raut
1db7f4602d
Extract BuildEmailThreadingHeaders to deduplicate email threading logic
2026-04-15 02:32:55 +05:30
Abhinav Raut
d73a85ffb5
Fix continuity email threading: remove self-reference, drop unused meta field, cap source ID limit
2026-04-15 02:21:41 +05:30
Abhinav Raut
a644ab2e44
Scope offline status broadcasts by user type instead of broadcasting to all
2026-04-15 02:21:18 +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
62e02118bd
Increase visitor default session TTL from 90 days to 180 days
2026-04-15 00:43:40 +05:30
Abhinav Raut
99daf4e8da
DRY up widget inbox validation, use validateWidgetInbox middleware
2026-04-15 00:11:19 +05:30
Abhinav Raut
567e6cd683
Add csat field description, cast survey is now sent only once per conversation
2026-04-14 23:36:06 +05:30
Abhinav Raut
2d8daf2b4e
Add "Choose channel" heading to new inbox page
2026-04-14 23:25:59 +05:30
Abhinav Raut
33a2a877a5
Fix secret handling in webhook and context link updates, allow clearing secrets
2026-04-14 23:00:14 +05:30
Abhinav Raut
a56168cf59
Fix incorrect webhook unassigned event value, use sentence case for event labels
2026-04-14 22:29:05 +05:30
Abhinav Raut
b66c73050b
Clarify automation rules trigger scope, use sentence case for role permissions labels
2026-04-14 22:16:43 +05:30
Abhinav Raut
28bdb89e8d
Update csat request email template
...
Update csat webpage again..
2026-04-14 22:14:39 +05:30
Abhinav Raut
c96253aec9
Update shared view form layout
2026-04-14 21:28:27 +05:30
Abhinav Raut
6146f28126
Add inbox channel validation in create conversation request
2026-04-14 21:28:11 +05:30
Abhinav Raut
35e0884f4a
Extract reusable PaginationBar component, add week i18n key
2026-04-14 21:06:16 +05:30
Abhinav Raut
e8807594cf
add more snooze options in commnd box
2026-04-14 19:35:38 +05:30