Commit Graph

2282 Commits

Author SHA1 Message Date
Abhinav Raut ea93e5efa9 update agent approval hint for AI tools to clarify data change requirements 2026-09-19 00:11:13 +05:30
Abhinav Raut 769aa32fdf send the real contact verification state to AI tools on agent surfaces 2026-09-18 20:54:38 +05:30
Abhinav Raut aac97e3baf reject a second AI tool run while one waits for approval 2026-09-18 20:44:21 +05:30
Abhinav Raut 8d99740a41 add custom AI tools to copilot and generate reply with an agent approval step 2026-09-18 20:19:52 +05:30
Abhinav Raut 2221f95804 Merge pull request #607 from abhinavxd/agent-notification-preferences
add per-agent notification preferences
2026-09-17 00:34:53 +05:30
Abhinav Raut ba349158bc add notification settings link 2026-09-17 00:31:44 +05:30
Abhinav Raut 75ab05cc5f show a loader while notification settings load 2026-09-16 23:07:37 +05:30
Abhinav Raut 635ce63b78 fix browser notification persistence 2026-09-16 12:39:05 +05:30
Abhinav Raut 43c007ef9e improve notification previews and editor AI
Show the latest reply in alerts without quoted email history. Share AI prompts across conversation editors and clarify browser notification settings.
2026-09-16 01:54:35 +05:30
Abhinav Raut ef53a48106 revert chagnes to render.go 2026-09-16 01:43:39 +05:30
Abhinav Raut 6fd04dee1b remove message time from email queue 2026-09-16 00:31:04 +05:30
Abhinav Raut 6655a9fcb0 fix reply alerts and browser push subscriptions
Send every reply alert while batching email for five minutes. Keep shared browser subscriptions tied to the signed-in agent.
2026-09-16 00:16:12 +05:30
Abhinav Raut f07ccd7970 prevent overlapping notification preference saves 2026-09-15 17:54:02 +05:30
Abhinav Raut ced1a8bee5 add per-agent notification preferences and browser push 2026-09-15 12:31:27 +05:30
Abhinav Raut 9016466fb7 Merge pull request #452 from IzzaldinSamir/patch-1
Fix: Ensure email text visibility in Dark Mode (#449)
2026-09-15 00:52:01 +05:30
Abhinav Raut d8041240c8 apply email light canvas only for email channel conversations 2026-09-15 00:16:03 +05:30
Abhinav Raut 4f291fee31 Merge remote-tracking branch 'origin/main' into patch-1 2026-09-15 00:12:02 +05:30
Abhinav Raut 42f7bb7b97 Merge pull request #603 from anvme/fix/csat-double-submit
fix: prevent duplicate CSAT submissions under concurrency
2026-09-14 18:50:04 +05:30
Abhinav Raut 2b3b9a4ce4 Merge pull request #602 from anvme/fix/csat-error-leak
fix: don't render raw driver errors on CSAT submit
2026-09-14 18:49:46 +05:30
Abhinav Raut 5fdf79ffa7 Merge pull request #601 from anvme/fix/csat-feedback-utf8
fix: truncate CSAT feedback by runes to preserve valid UTF-8
2026-09-14 18:49:20 +05:30
Abhinav Raut 6487b6b242 remove over-explanatory CSAT comments 2026-09-14 18:47:46 +05:30
Abhinav Raut 349519a6ec Merge pull request #578 from pmslava/list-priority
Conversation list: show a priority marker on each row
2026-09-14 18:39:54 +05:30
Abhinav Raut a870722c53 use ladders for priority market 2026-09-14 18:35:55 +05:30
Stanislaw 7388ab9c65 fix: prevent duplicate CSAT submissions under concurrency
The pre-check on response_timestamp was a read-then-write race: concurrent
submits all passed it and all wrote. Guard the UPDATE with
response_timestamp IS NULL and treat a zero-row update as already submitted.
2026-09-14 15:03:17 +02:00
Stanislaw cdfe81155f fix: don't render raw driver errors on CSAT submit
handleUpdateCSATResponse rendered err.Error() directly, so submitting a form
to a malformed UUID leaked the raw Postgres error to the page. Show a generic
message and only surface known envelope.Error messages.
2026-09-14 15:02:59 +02:00
Stanislaw 852dbfe7e1 fix: truncate CSAT feedback by runes to preserve valid UTF-8
Feedback was sliced by bytes at maxCsatFeedbackLength, which could split a
multibyte character and produce invalid UTF-8. Postgres then rejects the row
and the entire submission fails, losing the rating too. Truncate by runes.
2026-09-14 15:02:59 +02:00
Abhinav Raut 411ea027f0 Merge pull request #594 from abhinavxd/dependabot/npm_and_yarn/frontend/vitest-4.1.11
Bump vitest from 4.1.0 to 4.1.11 in /frontend
2026-09-14 14:03:10 +05:30
dependabot[bot] 6e039e27f5 Bump vitest from 4.1.0 to 4.1.11 in /frontend
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.1.0 to 4.1.11.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.11/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.11
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-10 21:19:09 +00:00
pmslava 302bbd21f5 conversation: show a priority marker on conversation list rows
The list showed no priority at all, so an agent scanning the inbox could not tell a
High-priority conversation from the rest without opening it - which matters when an
automation rule raises priority for paying customers. Each row now carries a small
coloured dot in the metadata cluster next to the channel icon and the relative time,
using the semantic tokens the rest of the desk uses for urgency: destructive for High,
warning-600 for Medium, muted-foreground for Low, and muted-foreground for any priority
an install has renamed. The dot is a tooltip trigger and carries an aria-label, both
reading "Priority: <name>", and rows whose priority is unset render nothing. The
mapping lives in one small PriorityDot component so any future priority display stays
consistent with it. No backend change was needed: the get-conversations query already
selects conversation_priorities.name as priority, ConversationListItem already carries
it, and a priority change is broadcast over the websocket and merged into the list row.
2026-09-09 00:16:22 +02:00
Abhinav Raut b5c4a30805 Update 2FA status and conversation reports in roadmap 2026-09-09 01:34:36 +05:30
Abhinav Raut 2c1aa922a8 Update roadmap with new features and statuses 2026-09-09 01:33:53 +05:30
Abhinav Raut 93df6c8bf3 Merge pull request #492 from pat-s/agent/sso-only-auth
feat(auth): add SSO-only login mode
2026-09-09 01:32:18 +05:30
Abhinav Raut 32f814757f drop the rationale comment on isLocalLoginEnabled 2026-09-09 01:16:53 +05:30
Abhinav Raut bde1f06ec6 skip the OIDC lookup on login unless local login is disabled and translate the error 2026-09-09 01:14:42 +05:30
Abhinav Raut 920ac2c495 Merge pull request #577 from abhinavxd/ai-prompts-crud
CRUD for editor ai prompts.
2026-09-09 01:01:33 +05:30
Abhinav Raut 34d2a64895 keep prompt content out of the agent prompt list and load it on edit behind ai:manage 2026-09-09 00:45:43 +05:30
Abhinav Raut b35fc839cc Change translation contribution process to Crowdin
Updated translation contribution guidelines to use Crowdin.
2026-09-09 00:40:50 +05:30
Abhinav Raut 30b5d94627 add editor prompts admin page to create, edit and delete AI reply box prompts 2026-09-09 00:33:02 +05:30
Abhinav Raut 70c86060b0 Merge pull request #572 from abhinavxd/contacts-toolbar-layout
move new contact button to the right of the contacts toolbar
2026-09-08 02:16:08 +05:30
Abhinav Raut 7b72e44f15 move new contact button to the right of the contacts toolbar 2026-09-08 02:12:03 +05:30
Abhinav Raut 251f2bf7d0 Merge pull request #312 from Gumbraise/feat/add-contact-form-and-api-route
Implement create contact functionality
2026-09-08 02:08:13 +05:30
Abhinav Raut 52b6658e74 reject duplicate emails when creating a contact and reuse shared i18n keys 2026-09-08 01:44:16 +05:30
Abhinav Raut e8007b67fd Merge remote-tracking branch 'origin/main' into pr-312
# Conflicts:
#	frontend/apps/main/src/components/sidebar/Sidebar.vue
#	frontend/apps/main/src/features/contact/ContactsList.vue
#	internal/user/contact.go
#	internal/user/user.go
2026-09-08 01:29:04 +05:30
Abhinav Raut 85a1b477f6 Merge pull request #475 from fredrikblau/feat/private-note-ticket-links
Add conversation reference links to private notes
2026-09-06 01:30:42 +05:30
Abhinav Raut c1b999b014 fix stale searches and mention email links 2026-09-06 01:29:26 +05:30
Abhinav Raut 3bf997f99b Merge pull request #559 from abhinavxd/dependabot/npm_and_yarn/frontend/qs-6.16.0
Bump qs from 6.15.2 to 6.16.0 in /frontend
2026-09-03 13:22:02 +05:30
dependabot[bot] 908f3413fe Bump qs from 6.15.2 to 6.16.0 in /frontend
Bumps [qs](https://github.com/ljharb/qs) from 6.15.2 to 6.16.0.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.2...v6.16.0)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.16.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-03 06:28:57 +00:00
Abhinav Raut e1c8719580 rename ticket references to conversation references 2026-09-03 11:15:38 +05:30
Abhinav Raut 3d45b5f74f fix ticket reference parsing, stored links and suggestion popup 2026-09-03 01:43:30 +05:30
Abhinav Raut dd57a86374 Merge pull request #556 from abhinavxd/command-palette
rebuild the command palette and add keyboard shortcuts for conversation actions
2026-09-03 01:06:06 +05:30