Abhinav Raut
bae4c23b01
hide outlook/hotmail quoted text correctly and fix html email whitespace
2026-05-18 00:30:13 +05:30
Abhinav Raut
e048ba5716
improve conversation thread and inbox list ux
...
Add expand button for long message bubbles, group consecutive same-sender
messages within a minute, and fix the conversation list highlight contrast
(Fixes #321 ). Also bumps vue-letter to 0.2.1 to allow CSS transforms in email content
2026-05-17 22:54:05 +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
3470347708
Throttle conversation list refresh and keep list on fetch errors
2026-05-14 21:17:17 +05:30
Abhinav Raut
d1c346d0f8
Style toasts with theme instead of rich colors
2026-05-14 21:16:36 +05:30
Abhinav Raut
4ca99b3396
Centralize conversation tag updates in store
2026-05-14 20:06:56 +05:30
Abhinav Raut
123b809be4
Address review feedback on bulk actions
2026-05-14 20:06:56 +05:30
Matthew Campbell
863ac68fba
Add bulk actions on conversations (assign, status, priority)
...
Per-row checkboxes on the conversation list. When at least one
conversation is selected, the filters bar swaps for a small toolbar with
three dropdowns: Assign (agent or team), Status, Priority. Shift-click
selects a range. The X on the right clears.
Frontend only. The bulk operations call the existing per-conversation
API endpoints (updateAssignee, updateConversationStatus,
updateConversationPriority) in parallel via Promise.allSettled. No new
backend handler.
Each dropdown is gated on the corresponding existing permission
(conversations:update_user_assignee, _team_assignee, _status,
_priority). Toolbar strings are localized via 8 new keys under
conversation.bulkActions.* in i18n/en.json.
2026-05-14 20:06:05 +05:30
Abhinav Raut
475667e9e8
Render audio attachments as tiles with inline popover player
2026-05-14 17:07:11 +05:30
Abhinav Raut
14b8ceba4b
Remove obvious comments
2026-05-14 17:06:35 +05:30
Abhinav Raut
9c2483a7c0
Harden attachment paths: drop PDF iframe, noopener/noreferrer everywhere, rename components so they don't confuse me anymore.
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
878506b5c6
Sync i18n with English fallback, trim MessageBubble comments
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
98e04e753b
Tighten image attachment UX: composable, lightbox a11y, send gates, tests
2026-05-14 17:06:35 +05:30
Abhinav Raut
ae521e0713
Translate image toolbar labels, fix Best fit and Small
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
dependabot[bot]
13c690ee08
build(deps-dev): bump postcss from 8.4.49 to 8.5.10 in /frontend
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.4.49 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.4.49...8.5.10 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.10
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-12 21:40:25 +00:00
dependabot[bot]
f1b81f4b70
build(deps): bump axios from 1.15.0 to 1.15.2 in /frontend
...
Bumps [axios](https://github.com/axios/axios ) from 1.15.0 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.15.0...v1.15.2 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 07:14:40 +00:00
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
bf69b56efb
fix prompt_tags_on_reply not persisting on email inbox creation
2026-04-25 13:08:10 +05:30
Abhinav Raut
be7369d64f
Update widget unread count style
2026-04-25 12:36:59 +05:30
Abhinav Raut
ea4f8d75d3
cap unread message count badge at 9+ since backend caps at 10
2026-04-25 12:30:08 +05:30
Abhinav Raut
c3d1dbe5f2
Merge pull request #300 from abhinavxd/reply-to-addr
...
Add support for reply to address on inboxes.
2026-04-24 23:05:34 +05:30
Abhinav Raut
b06a5151cc
disable plus addressing toggle for microsoft inboxes instead of hiding, preventing accidental disable on re-save
2026-04-24 22:03:39 +05:30
Abhinav Raut
971ec49c35
enable datatable search on all admin tables, restrict global filter to text columns
2026-04-24 21:41:21 +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
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
bfe7cef627
add global search to datatable with per-table opt-out
2026-04-23 03:12:52 +05:30
Abhinav Raut
8ebd7d7e2b
cap macro command palette list at 200 and scope highlight observer
2026-04-22 15:54:05 +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
b658df8d12
Extract LoadingOverlay component for admin spinner/dim pattern
2026-04-21 21:02:53 +05:30
Abhinav Raut
bf63a8737c
use constants from filterConfig for operators.
2026-04-21 20:47:23 +05:30
Abhinav Raut
db8d099e42
Prevent Enter key from submitting automation rule form
2026-04-21 20:30:29 +05:30
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
79dc693cd1
Fix large tag names expanding outside tag badge
2026-04-21 17:01:33 +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
108d7a7cb2
Merge pull request #285 from abhinavxd/dependabot/npm_and_yarn/frontend/qs-6.15.1
...
build(deps): bump qs from 6.13.1 to 6.15.1 in /frontend
2026-04-19 04:38:11 +05:30
dependabot[bot]
50ebcec332
build(deps): bump qs from 6.13.1 to 6.15.1 in /frontend
...
Bumps [qs](https://github.com/ljharb/qs ) from 6.13.1 to 6.15.1.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ljharb/qs/compare/v6.13.1...v6.15.1 )
---
updated-dependencies:
- dependency-name: qs
dependency-version: 6.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-18 23:03:43 +00:00