Commit Graph

1373 Commits

Author SHA1 Message Date
Abhinav Raut aa9e4cdae2 feat: add conversation status categories and update related logic.
- Introduced a new category field for conversation statuses to classify them as 'open', 'waiting', or 'resolved'. Which allows max assignment limits in team to work with custom statuses as well.
2026-04-21 16:55:09 +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
Abhinav Raut e5c8b76d86 Remove extra margin from buttons with icons 2026-04-14 19:35:09 +05:30
Abhinav Raut 01f27c840b Auto focus on holiday name in BH form 2026-04-14 19:34:42 +05:30
Abhinav Raut 9f8ddc45d9 Set correct place holder for text editor in automation action 2026-04-14 19:34:16 +05:30
Abhinav Raut fa8d32a5ac Fix emitter listener leaks, sidebar action button fixes.
Auto focus on view form
2026-04-14 18:59:44 +05:30
Abhinav Raut 1ed6f9ce46 Fix infinite re-render crash when opening conversation sidebar 2026-04-14 18:33:47 +05:30