Abhinav Raut
ac403791fd
improve copilot reply drafts and add presets
...
Reply drafts are now written in first person as the agent and never offer to escalate, since a human is already handling the conversation. Add quick preset buttons to the copilot panel and reuse a shared transcript helper.
2026-07-12 04:48:29 +05:30
Abhinav Raut
ef0add0fff
add reasoning effort setting for providers
...
Add a reasoning effort field to the completion provider config, sent as-is to the model. Reasoning models such as GPT-5.x need it set to "none" to use tools. Also switch to max_completion_tokens.
2026-07-12 04:48:01 +05:30
Abhinav Raut
1343790353
restrict custom tool methods to GET and POST
...
Limit custom tools to GET and POST and validate the method on save. GET args now go on the query string and POST args in the body. Also stop sending the raw stored secret when its decryption fails, which would leak ciphertext and fail auth confusingly.
2026-07-12 04:47:50 +05:30
Abhinav Raut
0d755fc777
send CSAT on every resolve path
...
CSAT was only sent when a human resolved from the UI. AI and automation resolves go straight through UpdateConversationStatus and skipped it. Moved the send there so all paths trigger it. It is idempotent and no-ops when the contact has no email.
2026-07-12 04:47:43 +05:30
Abhinav Raut
16c79a2706
guard AI agent replies and add prior-conversation context
...
The agent now only replies to a turn the primary contact authored, so a CC'd or plus-address participant hands off to a human instead of driving tool calls under the contact's identity. It also asks the customer to confirm before resolving, and can read the contact's other recent conversations for context.
2026-07-12 04:47:36 +05:30
Abhinav Raut
7186c95e40
add WIP autonomous AI agent that replies to assigned conversations
...
Medium (title + short body):
add WIP autonomous AI agent
New internal/aiagent package runs AI assistants that reply to customers
on conversations assigned to them, grounded on a knowledge base. Also mines
resolved conversations for FAQ suggestions. Adds admin UI and the v2.7.0
schema. Still work in progress.
2026-07-11 04:54:49 +05:30
Abhinav Raut
0ecd783941
add AI copilot backed by a knowledge base and custom tools
...
Adds two agent-facing AI features: a copilot chat panel in the conversation
sidebar and a generate-reply button in the reply box. Both run an agentic
tool-calling loop whose first tool searches the knowledge base.
Snippets are chunked and embedded on save, then searched in memory with
brute-force cosine similarity (no pgvector). Providers are split into completion
and embedding types. Both are OpenAI-compatible and the API key is encrypted at
rest. Admins can also register custom HTTP tools the model can call.
A new admin AI settings page covers provider config, snippets, and tools. The
v2.6.0 migration and schema add the ai_knowledge_base, embeddings, and ai_tools
tables plus the ai_providers type column.
2026-07-10 15:51:27 +05:30
Abhinav Raut
e38facf750
Merge pull request #410 from abhinavxd/convo-list-sla-draft-fixes
...
make SLA badges react to prop changes and hide draft label on open conversation
2026-07-10 00:42:41 +05:30
Abhinav Raut
9ce7feded0
make SLA badges react to prop changes and hide draft label on open conversation
2026-07-10 00:28:36 +05:30
Abhinav Raut
0fa00cf10d
Merge pull request #408 from abhinavxd/jwt-phone-country-code
...
accept phone country code in livechat JWT auth
2026-07-09 23:32:01 +05:30
Abhinav Raut
526d6abd50
Merge pull request #409 from abhinavxd/assign-nudge-permission-check
...
hide assign-to-me nudge when agent lacks assignee permission
2026-07-09 23:31:38 +05:30
Abhinav Raut
57481de4e3
Merge pull request #407 from abhinavxd/draft-attachment-preview
...
show attachment type in draft preview when there is no draft text
2026-07-09 23:31:33 +05:30
Abhinav Raut
fc71d30b8a
accept phone country code in livechat JWT auth
2026-07-09 23:15:05 +05:30
Abhinav Raut
99492cc4fe
hide assign-to-me nudge when agent lacks assignee permission
2026-07-09 22:42:28 +05:30
Abhinav Raut
2de3038d07
show attachment type in draft preview when there is no draft text
2026-07-09 22:20:50 +05:30
Abhinav Raut
e3d5d46fb3
Merge pull request #406 from abhinavxd/livechat-phone-field-and-ui-fixes
...
Livechat phone field and UI fixes
2026-07-09 02:35:11 +05:30
Abhinav Raut
8a8d372a70
use one phone field in livechat JWT and fix phone validation
2026-07-09 02:27:08 +05:30
Abhinav Raut
e56e3d3b0f
use distinct icons for online, away and offline status dots
2026-07-09 01:50:20 +05:30
Abhinav Raut
8f658f274d
add livechat pre-chat phone field and fix default launcher logo
2026-07-09 01:49:38 +05:30
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