Abhinav Raut
e9a7269c3f
Merge pull request #404 from abhinavxd/harden-contact-create-and-drop-away-on-login
...
Harden contact create, drop set-away-on-login, make status dots color blind safe
2026-07-08 13:16:45 +05:30
Abhinav Raut
9b5326c689
normalize email before validating create conversation request
2026-07-08 13:14:22 +05:30
Abhinav Raut
4dabc84a33
harden contact create, drop set-away-on-login, make status dots colorblind-safe
2026-07-08 12:14:36 +05:30
Abhinav Raut
4020829d66
Merge pull request #403 from abhinavxd/add-novalidate-remaining-forms
...
add novalidate to remaining vee-validate forms
2026-07-08 01:58:17 +05:30
Abhinav Raut
3bf95aeac1
add novalidate to remaining vee-validate forms
2026-07-08 01:44:29 +05:30
Abhinav Raut
08ed665e00
Merge pull request #402 from abhinavxd/fix-livechat-form-native-validation
...
fix livechat form submit silently failing on invalid url/number fields
2026-07-08 01:33:58 +05:30
Abhinav Raut
d6f44a3c61
fix livechat form submit silently failing on invalid url/number fields
2026-07-08 01:32:58 +05:30
Abhinav Raut
2bfe242933
Merge pull request #261 from josephsellers/delete-private-notes
...
delete pvt notes
2026-07-08 01:09:59 +05:30
Abhinav Raut
60ebefebdc
fix edge cases in private note soft-delete
2026-07-08 01:00:24 +05:30
Abhinav Raut
43b43a82ef
Merge branch 'main' into delete-private-notes
2026-07-08 00:47:28 +05:30
Abhinav Raut
d696b53c80
soft-delete private notes with a tombstone instead of removing them
2026-07-08 00:43:29 +05:30
Abhinav Raut
5a826b9c14
Merge pull request #399 from abhinavxd/reply-box-per-type-drafts
...
Reply box per type drafts
2026-07-08 00:26:21 +05:30
Abhinav Raut
adeb4eee27
swap private-note delete to a hover 3-dot menu with confirm dialog
2026-07-07 23:55:37 +05:30
Abhinav Raut
9e0c1f332d
Merge branch 'main' into delete-private-notes
2026-07-07 23:37:05 +05:30
Abhinav Raut
bde6f019dc
Merge pull request #401 from abhinavxd/fix-dark-highlight-css-leak
...
fix dark-mode mention highlight leaking a yellow background
2026-07-07 23:34:51 +05:30
Abhinav Raut
dc882e033a
Merge pull request #260 from josephsellers/contact-name-upsert
...
Fix: update contact names on upsert instead of discarding them
2026-07-07 23:34:29 +05:30
Abhinav Raut
8268221ea2
fix dark-mode mention highlight leaking a yellow background onto every .dark element
2026-07-07 23:26:57 +05:30
Abhinav Raut
1d7bc67ebf
stop sent drafts from coming back after a failed or reordered sync
2026-07-07 23:11:45 +05:30
Abhinav Raut
186502a4f8
open the reply/note tab matching the conversation's last-used draft
2026-07-07 22:57:50 +05:30
Abhinav Raut
0ae9232410
Merge pull request #400 from ahfoysal/fix-assignment-notification-read
...
Mark assignment notifications read on ticket action
2026-07-06 23:52:55 +05:30
ahfoysal
27e8efb27b
fix: update assignment notification state in UI
2026-07-06 16:47:20 +06:00
ahfoysal
f4f8db81d9
Mark assignment notifications read on action
2026-07-06 13:32:16 +06:00
Abhinav Raut
8a68ae34a9
fix flaky reply e2e and stop draft load from wiping in-progress input
2026-07-05 23:22:50 +05:30
Abhinav Raut
79b764944a
fix attachments and macros leaking across reply and private note drafts
2026-07-05 20:26:58 +05:30
Abhinav Raut
ee7b829ff2
Merge branch 'main' into reply-box-per-type-drafts
2026-07-05 20:12:44 +05:30
Abhinav Raut
3feecf4296
Merge pull request #394 from abhinavxd/minor-improvements
...
add livechat widget preview and misc improvements
2026-07-05 20:09:25 +05:30
Abhinav Raut
0949761d04
fix contrast threshold and cache invalidation order on login
2026-07-05 20:03:31 +05:30
Abhinav Raut
0660ae4e3c
Merge pull request #396 from abhinavxd/dependabot/go_modules/golang.org/x/image-0.41.0
...
build(deps): bump golang.org/x/image from 0.38.0 to 0.41.0
2026-07-05 19:07:42 +05:30
Abhinav Raut
5166358301
move isValidDraftType to bottom of file
2026-07-05 18:42:33 +05:30
Abhinav Raut
18027bc0e3
fix draft races by making the store the single source of truth
2026-07-05 18:42:17 +05:30
dependabot[bot]
6eabd8aa1f
build(deps): bump golang.org/x/image from 0.38.0 to 0.41.0
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.38.0 to 0.41.0.
- [Commits](https://github.com/golang/image/compare/v0.38.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.41.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-03 12:38:48 +00:00
Abhinav Raut
82d3ef756b
Merge pull request #395 from abhinavxd/dependabot/go_modules/golang.org/x/net-0.55.0
...
build(deps): bump golang.org/x/net from 0.47.0 to 0.55.0
2026-07-03 18:06:53 +05:30
dependabot[bot]
57e15d32f4
build(deps): bump golang.org/x/net from 0.47.0 to 0.55.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.47.0 to 0.55.0.
- [Commits](https://github.com/golang/net/compare/v0.47.0...v0.55.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.55.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-03 12:31:35 +00:00
Abhinav Raut
ec3938c365
save reply and private note drafts separately per type
2026-07-03 03:37:09 +05:30
Abhinav Raut
62a1fc836e
add livechat widget preview and misc improvements
...
Livechat:
- Add a live widget preview that renders in the inbox settings help rail.
- Warn when the primary or header colors are too close to the background.
- Require gradient/image background values and notice banner text when enabled.
- Show a default launcher logo in the widget when none is set, matching the preview.
- Drop the Beta badge from the livechat channel.
General settings:
- Add "set agents away on login". Agents log in as away and must go online manually.
- Add "show subject in conversation list" toggle.
Other:
- Add a keyboard shortcuts dialog from the user menu.
- Show a "snoozed until" badge on snoozed conversations.
- Contact search now matches emails partially instead of exact.
- Give outgoing message bubbles a secondary background.
2026-07-03 02:34:42 +05:30
Abhinav Raut
42a3b3a4b5
Merge pull request #391 from abhinavxd/roles-learn-more-link
...
add learn more link to roles admin page
2026-07-01 03:16:08 +05:30
Abhinav Raut
725acf6707
Merge pull request #392 from abhinavxd/dependabot/npm_and_yarn/frontend/vite-6.4.3
...
build(deps-dev): bump vite from 6.4.2 to 6.4.3 in /frontend
2026-06-30 16:51:26 +05:30
dependabot[bot]
a7bcd5e748
build(deps-dev): bump vite from 6.4.2 to 6.4.3 in /frontend
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.3/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.3/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.3
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 10:06:35 +00:00
Abhinav Raut
4280a216eb
Update roadmap with new item and formatting changes
2026-06-30 12:03:31 +05:30
Abhinav Raut
3052e2a7ae
Update ROADMAP.md
2026-06-30 12:02:48 +05:30
Abhinav Raut
8720e37bbf
add learn more link to roles admin page
2026-06-25 09:52:07 +05:30
Abhinav Raut
addd44fae4
Merge pull request #369 from abhinavxd/improved-views
...
feat: support nested AND/OR filter groups and new fields in views
v2.4.0
2026-06-19 04:18:48 +05:30
Abhinav Raut
76d00c899e
make the contact name upsert actually run for existing contacts
2026-06-19 04:01:56 +05:30
josephsellers
406a2941a1
Scope delete-private-message to its conversation (fix IDOR)
...
Address CodeRabbit review: the query deleted by message uuid alone, so an agent
with access to one conversation could delete a private note from another by
pairing an accessible cuuid with a foreign message uuid. The delete is now
scoped via conversation_id = (SELECT id FROM conversations WHERE uuid = $2), and
DeletePrivateMessage / the handler pass the conversation uuid alongside the
message uuid.
[Used Claude Code 🤖 ]
2026-06-18 12:07:31 +01:00
josephsellers
da20825e2b
Add context menu to delete private notes in conversation view
...
Right-clicking a private note shows a "Delete note" option that calls the
DELETE endpoint and removes the note from the UI. The context menu trigger is
disabled for non-private messages (browser default menu shown instead).
[Used Claude Code 🤖 ]
2026-06-18 11:33:19 +01:00
josephsellers
b699cacd30
Add API endpoint to delete private notes
...
Adds DELETE /api/v1/conversations/{cuuid}/messages/{uuid} for removing private
notes via the API. Uses a dedicated `delete-private-message` query/stmt
(separate from the generic `delete-message` used internally by continuity) so
only messages with private=true can be deleted — sent/incoming messages are
protected. Returns 404 if the message doesn't exist or isn't private.
Useful for API consumers that create private notes programmatically and need to
clean them up (e.g. replacing an outdated note before adding a new one).
[Used Claude Code 🤖 ]
2026-06-18 11:33:19 +01:00
josephsellers
000326bbde
Fix: update contact names on upsert instead of discarding them
...
Re-derived for the v2.x contact model. insert-contact-with-external-id
already updates names on conflict; this adds the same to
insert-contact-without-external-id, preserving existing non-empty names
via COALESCE(NULLIF(EXCLUDED.first_name, ''), users.first_name).
Without this, names from the email worker and Gravity Forms never update
existing contacts.
[Used Claude Code 🤖 ]
2026-06-18 11:23:42 +01:00
Abhinav Raut
a629beaf0b
resolve sql builder date filters in the app timezone instead of UTC
2026-06-18 11:56:43 +05:30
Abhinav Raut
a110d38dd8
adjusts padding in filter group builder
...
adds comments with sample payloads to make the filter format easier to understand
2026-06-17 15:35:05 +05:30
Abhinav Raut
4eb1f8eca1
Add 2FA for password login to roadmap
2026-06-17 11:28:06 +05:30