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
Abhinav Raut
9d91bb8636
Send only one CSAT per conversation
2026-04-13 13:56:15 +05:30
Abhinav Raut
9424db2607
Fix continuity email re-sending same messages
2026-04-13 10:45:58 +05:30
Abhinav Raut
0d9196b269
Add color customization for live chat launcher
2026-04-13 04:16: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
d804e365cb
Fix continuity email tracking to not reset contact_last_seen_at and exclude continuity messages from unread count
2026-04-13 00:59:16 +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
edb65650d9
Fix incorrect unread message count when a continuity message is auto sent in conversation
...
Remove dead widget code
Add config.toml to goreleaser
2026-04-12 03:18:47 +05:30
Abhinav Raut
8846ede8c7
standardize project name to lowercase "libredesk" across documentation, UI, and codebase.
...
Vue router console warning fixes
2026-04-10 16:33:27 +05:30
Abhinav Raut
0305fecaf0
Add csat uuid as available param to CSAT request template
2026-04-09 17:03:52 +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
aaff1b1427
assign oldest convos first in auto assigner
2026-04-07 16:32:03 +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
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
b739783eec
Render reply and private not template variables before saving them in DB.
2026-04-02 14:31:53 +05:30
Abhinav Raut
d590ace4a9
Fix typing indicator broadcast to exclude the sender by comparing client IDs
2026-04-02 11:48:54 +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
9c43654021
Add conversation ref number to list conversations api response
2026-04-01 16:16:26 +05:30