Abhinav Raut
66d8c3580c
fall back to image preview for inline-image-only messages
2026-05-17 17:35:31 +05:30
Abhinav Raut
b014d0d9a5
resolve inline image cids on send-message response, revert f841a81f
2026-05-15 17:39:04 +05:30
Abhinav Raut
f841a81f1e
skip cid rewrite for private notes
2026-05-15 16:48:15 +05:30
Abhinav Raut
b5000c7bc4
skip auto-reply and csat send when contact has no email
2026-05-15 16:16:32 +05:30
Abhinav Raut
f6a4ad537f
fix auto-replies and csat fanning out to last message's cc list
...
Both now send to the contact only and carry meta.is_automated so the
reply-box prefill skips them and inherits CCs from the last human message.
2026-05-15 16:16:32 +05:30
Abhinav Raut
c1f80d93cb
Fix: persist drafts with inline-only images
...
Increase orphan media GC duration to 7 days as some drafts might need them
2026-05-15 16:15:40 +05:30
Abhinav Raut
b6dd5f08dc
Merge pull request #316 from abhinavxd/fix/key-rotation
...
Don't fatal on encryption_key rotation
2026-05-15 10:44:23 +05:30
Abhinav Raut
3e1c6471ea
Scope encryption_key rotation fix to boot path
2026-05-15 10:36:13 +05:30
Abhinav Raut
0abd96fb70
Fix quoted image resolution
2026-05-15 02:47:30 +05:30
Abhinav Raut
7c949e653c
Don't fatal on encryption_key rotation
2026-05-15 02:39:07 +05:30
Abhinav Raut
793c3d2f3f
Fix quoted-reply inline images returning no signed URL
2026-05-15 00:44:12 +05:30
Abhinav Raut
dbf4d3a0a6
Fix inline image media not linking on S3 presigned URLs
...
Also simplify the inline-image helpers: one <img src> matcher plus stringutil.ExtractUUID, instead of two combined regexes with offset math.
2026-05-14 22:36:11 +05:30
Abhinav Raut
534771e94e
Save inline image cid refs instead of urls in DB to survive url expiry
2026-05-14 17:07:11 +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
4ab1885e5e
Harden inline image embed
2026-05-14 17:06:35 +05:30
Abhinav Raut
35bdf02002
Drop replaceCIDInContent, keep PR scoped to image resize UX
2026-05-14 17:06:35 +05:30
Abhinav Raut
acda125ad6
Refactor inline images PR for project conventions
2026-05-14 17:06:35 +05:30
Matthew Campbell
b96a9c599a
Inline images, lightbox, and attachment UX
...
Paste/drop to upload images in the editor with drag-resize handles and a
size toolbar. Image attachments open in a lightbox with zoom/pan and
keyboard navigation. File attachments get type-specific icons and a PDF
preview pane.
Outgoing email inlines images as multipart/related CID parts so
recipients see them even if our /uploads/ URLs later expire or the
server is unreachable. Orphan uploads (pasted into the reply before the
message is persisted) are embedded too; cross-conversation references
are still rejected.
Also tightens replaceCIDInContent HTML safety and scopes the uploads
URL regex to <img src> attributes only.
2026-05-14 17:06:35 +05:30
Abhinav Raut
ab05d6abad
fix ws client leak when conn dies between ping writes
2026-05-12 11:43:57 +05:30
Abhinav Raut
feb23fae8a
fix new inbox create dropping enabled/csat_enabled/secret/linked_email_inbox_id
2026-04-25 13:24:43 +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
dce33238e2
exclude inbox reply_to from reply recipients to prevent self-loop
2026-04-24 19:14:55 +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
38c14808be
fix view greater/less than date filter including boundary-day rows
2026-04-23 15:28:34 +05:30
Abhinav Raut
467a62b091
fix snoozed_until leak causing resolved/closed conversations to reopen
2026-04-23 11:36:03 +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
ed4bac6139
return error on default status update instead of silent no-op
2026-04-21 21:48:13 +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
8090309e2e
Fix autoassigner delaying conversation assignment when first picked agent is capped
...
Handle cases where teams do not have any agents
2026-04-21 18:06:39 +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
00785c6061
WIP: More filters to views
...
Virtualize agent list and tag list.
2026-04-19 17:22:49 +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
0258002190
Fix contact_email log field to unwrap null.String
2026-04-17 00:18:47 +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
d7d58bebdb
Lock agent WS to same-origin and set SameSite=Lax on session cookie
2026-04-16 03:13:09 +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
3fb75fbdde
Make contact email matching deterministic and scope contact blocking to the email address
2026-04-15 12:50:55 +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
33a2a877a5
Fix secret handling in webhook and context link updates, allow clearing secrets
2026-04-14 23:00:14 +05:30
Abhinav Raut
28bdb89e8d
Update csat request email template
...
Update csat webpage again..
2026-04-14 22:14:39 +05:30
Abhinav Raut
c98c87d478
Fix visitor own messages counted as unread; set waiting_since on new conversations
2026-04-13 22:36:02 +05:30
Abhinav Raut
882f650401
Stop broadcasting typing indicator between agents
2026-04-13 14:51:37 +05:30