Abhinav Raut
0abd96fb70
Fix quoted image resolution
2026-05-15 02:47:30 +05:30
Abhinav Raut
123b809be4
Address review feedback on bulk actions
2026-05-14 20:06:56 +05:30
Abhinav Raut
0be4a48b9c
Generate thumbnails for extensionless images with magic byte detection
2026-05-14 17:06:35 +05:30
Abhinav Raut
b72dad7cc7
Swap lightbox to lib, force-download via query param, link inline media on insert
2026-05-14 17:06:35 +05:30
Abhinav Raut
74189f84fb
reduce websocket message channel buffer size from 10000 to 256
2026-05-12 15:48:10 +05:30
Abhinav Raut
ffa5a22f3f
fix s3 avatar_url storing bucket path instead of /uploads/<uuid>
...
Trim spaces around reply to config
2026-04-24 20:12:04 +05:30
Abhinav Raut
3d2da2a11f
add reply_to on email inboxes for routing replies off the SMTP From domain
2026-04-24 18:39:16 +05:30
Abhinav Raut
8579570890
fix inbox form binding wait_timeout to wrong key, never persisting SMTP pool wait timeout
2026-04-23 14:53:20 +05:30
Abhinav Raut
dd6c8f93a0
add conversation.subject_ref_format config for customizing outgoing email subject marker
2026-04-23 03:11:36 +05:30
Abhinav Raut
3ba8ab0a8d
prevent idle detection from overwriting away_manual/away_and_reassigning
2026-04-21 22:40:10 +05:30
Abhinav Raut
1012949539
Merge remote-tracking branch 'origin/main' into category-statuses
2026-04-21 21:28:07 +05:30
Abhinav Raut
2d3958fe49
Merge pull request #294 from abhinavxd/more-view-filters
...
More fields in view filters.
2026-04-21 21:18:38 +05:30
Abhinav Raut
38a7fd699b
update mig ver
2026-04-21 21:14:22 +05:30
Abhinav Raut
15021bf22b
Make session lifetime configurable
2026-04-21 20:27:40 +05:30
Abhinav Raut
06b36b74fd
Add prompt-to-tag-on-reply inbox setting
2026-04-21 20:24:19 +05:30
Abhinav Raut
5bbd0f7c8d
Increase default rate limits
2026-04-21 18:06:52 +05:30
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
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
785c989a6b
Flatten continuity config into [conversation] as continuity_scan_interval
2026-04-17 00:03:37 +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
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
300e9b1238
Drop widget secondary color and auto-derive primary foreground for text selection.
2026-04-15 20:17:56 +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
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
6146f28126
Add inbox channel validation in create conversation request
2026-04-14 21:28:11 +05:30
Abhinav Raut
c5c6a6b57e
Clamp launcher spacing to 0-200, extend home gradient behind first card
2026-04-13 22:37:22 +05:30
Abhinav Raut
e860164ad7
Add widget home screen customization with configurable backgrounds, announcements, and external links
...
Fix inconsistnet close button for mobile devices.
2026-04-13 04:01:07 +05:30
Abhinav Raut
6aea4c9895
Removed the Stepper component and replaced it with a simpler MenuCard layout for channel selection in NewInbox.vue.
...
- Introduced a new SwitchField component for better UI consistency.
- Updated WebSocket client to remove unnecessary token and inbox_id from ping and typing messages.
- Added session duration configuration to the livechat channel settings in the backend.
2026-04-13 01:38:53 +05:30
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