Abhinav Raut
28fa0bad23
add email notif template to schema
...
- update migration
2026-01-01 14:43:40 +05:30
Abhinav Raut
1aa2d91432
feat: mentions for private notes
...
- mentioning an agents sends an email to the agent.
- mentioning a team sends an email to to the entire team.
2026-01-01 13:59:34 +05:30
Abhinav Raut
d0d3335a70
Merge pull request #209 from abhinavxd/patch-api-1
...
Patch
2026-01-01 01:47:27 +05:30
Abhinav Raut
186c4c869d
fix: check read_team_all before read_team_inbox in EnforceConversationAccess
...
read_team_all is a superset that grants access to all team conversations.
It should be checked first so users with this permission can access any conversation assigned to their team, regardless of user assignment.
2025-12-31 15:39:37 +05:30
Abhinav Raut
532cd7f563
feat(navigation): add pluralization for navigation items
...
feat: make data table item names clickable.
fix(conversation): focus reply box editor on conversation change
fix(conversation): focus editor on tab change in ReplyBoxContent
fix(conversation): update conversation list item to use router-link
fix(conversation): update message bubble to use router-link for author
fix(conversation): update last interaction fields on message insert
fix(conversation): add last interaction fields to conversation model
fix(conversation): update SQL queries to include last interaction fields
feat(migrations): add migration for last interaction fields in conversations
fix(schema): update schema to include last interaction fields in conversations
2025-12-31 12:34:04 +05:30
Abhinav Raut
b7d5ee0952
fix: add prompt=consent for Google to make sure we get refresh token everytime
2025-12-31 03:02:23 +05:30
Abhinav Raut
0c766323a1
update authorization URL to prompt for account selection
2025-12-29 01:34:57 +05:30
Abhinav Raut
914bcc1f87
simplify stale draft deletion sql
2025-12-27 17:38:33 +05:30
Abhinav Raut
957f945ee6
update sort order for shared view list.
2025-12-27 15:58:02 +05:30
Abhinav Raut
79f1a23192
sort user views by name
2025-12-27 15:57:02 +05:30
Abhinav Raut
9c17f98d73
show subject instead of contacts name in previous conversation list
...
allow previous conversation timestamps to wrap
2025-12-27 14:26:03 +05:30
Abhinav Raut
ddddf04fb6
feat: Shared views for agents and specific teams and admin pages to manage shared views.
...
- Log activity for password set and role permission changes.
- Fix agent permissions not changing when a role is modified / deleted.
2025-12-27 13:57:21 +05:30
Abhinav Raut
064a73ba4b
feat: add conversations:read_team_all permission to allow agents to see conversations assigned to their team, regardless of whether an agent is assigned or not.
...
- Allow all SLAs to be fetched without permission checks.
Ref #203
2025-12-26 19:57:45 +05:30
Abhinav Raut
c62294aaef
feat: Make convo panels resizable
...
- add new report/overview metrics
2025-12-26 04:52:30 +05:30
Abhinav Raut
7847364933
set automation queue size to 10k
2025-12-26 03:57:24 +05:30
Abhinav Raut
f165f0e6ef
remove appending ref number to agent reply mail subjects
2025-12-26 03:30:12 +05:30
Abhinav Raut
7ac483d043
handle converastion not found errors while fetching conversations fetched using uuids from the to plus address
2025-12-26 03:22:25 +05:30
Abhinav Raut
27d929c302
refactor add util funcs to extract conversation uuid from to address
2025-12-26 03:15:07 +05:30
Abhinav Raut
5fd6bbdae8
remove unused struct field
2025-12-26 03:04:38 +05:30
Abhinav Raut
a63c073c15
fix strip conversation uuid from receipient address as it could be the inbox email with plus variant
...
- adds test cases for util functions that strip inbox email.
- update make file to include frontend unit tests
2025-12-24 16:08:25 +05:30
Abhinav Raut
096bc87016
Feat: add plus-addressing for conversation matching on incoming emails
2025-12-24 16:08:25 +05:30
Abhinav Raut
895a74b3b8
encrypt ai provider keys
...
- add flow types to oauth inboxes to prevent accidental updates
2025-12-24 16:08:25 +05:30
Abhinav Raut
22af66c44d
Feat: match incoming messages to conversations using reference number in the subject.
...
refactor: update GetConversation method to include reference number parameter
2025-12-24 16:08:25 +05:30
Abhinav Raut
e4f260e3f4
fixes for msft email provider
2025-12-24 16:08:25 +05:30
Abhinav Raut
b7103b24ef
show oauth callback error / success messages as toast.
...
Add logs for errors and minor refactor
2025-12-24 16:08:25 +05:30
Abhinav Raut
c7f1f23c0b
fix deadlock on token refresh
2025-12-24 16:08:25 +05:30
Abhinav Raut
44554118f2
fix do dot encrypt client id
...
remove superfluous arg
set default imap scan interval to 5 mins
2025-12-24 16:08:25 +05:30
Abhinav Raut
5c1d0af971
fix: handle error when marshalling decrypted app settings
2025-12-24 16:08:25 +05:30
Abhinav Raut
94202e22bd
refactor: update OAuth flow to use Redis for state management instead of storing it in session
...
- Replace Google logo with SVG
2025-12-24 16:08:25 +05:30
Abhinav Raut
0a70204731
refactor and clean up remove uncessary token refresh on init of email inbox
2025-12-24 16:08:25 +05:30
Abhinav Raut
2a238a719e
-fix email notifications not working.
...
- reload app settings when notification settings are changed to trigger admin banner prompting user to restart app
- remove unncessary dummy password check before retaining passwords as an empty password check is enough.
2025-12-24 16:08:25 +05:30
Abhinav Raut
4de936da22
remove omitempty from tags
...
remove unused fn
2025-12-24 16:08:25 +05:30
Abhinav Raut
5c364fb954
fix oauth credentials not being saved correctly , refactor use exisitng oauth pkg for oauth functionalities
2025-12-24 16:08:25 +05:30
Abhinav Raut
f3ddc26512
wip inbox oauth and encryption
2025-12-24 16:08:25 +05:30
Abhinav Raut
34888ce226
refactor: update draft handling to retrieve all drafts for a user instead of fetching drafts per convo on click.
2025-12-24 13:19:25 +05:30
Abhinav Raut
b0c5003103
Delete drafts when there's no meaningful content in them.
...
- show `pencil` icon in conversations if they have draft.
- auto-delete drafts if draft has empty content
2025-12-24 02:19:46 +05:30
Abhinav Raut
36e03c14d7
Merge branch 'main' into fix/reply-draft-persistence
2025-12-24 00:32:52 +05:30
Abhinav Raut
c160210853
fix: ensure draft cleaner runs only with a positive retention period
2025-12-21 23:42:05 +05:30
Abhinav Raut
6bcc16e541
feat: along with editor content also save attachments and macro actions in drafts
2025-12-21 23:37:33 +05:30
Abhinav Raut
cf67b9679d
add missing migrations
...
check if drafts are dirty before saving draft
2025-12-21 21:04:43 +05:30
Abhinav Raut
159e8ae576
fix errors while fetching draft on conversation without any saved drafts
2025-12-21 20:27:30 +05:30
Abhinav Raut
2707231f9b
add draft retention policy with automatic cleanup of stale drafts
2025-12-21 19:23:01 +05:30
Abhinav Raut
d80474023b
remove unncessary enforceconversation access in delete and get convo draft
2025-12-21 19:11:28 +05:30
Ubuntu
0a5e5de544
fix: Handle NULL password field for imported contacts
...
Change Password field from string to null.String in User model to properly
handle contacts imported from external systems (e.g., Magento) that have
NULL passwords in the database.
Previously, fetching contacts with NULL passwords caused a SQL scan error:
"sql: Scan error on column index 4, name \"password\": converting NULL to
string is unsupported"
2025-12-17 12:25:58 +00:00
csr4422
e6bafb20a6
feat: implement draft manager methods
2025-12-16 13:37:39 +05:30
csr4422
cd8c5ab119
add ConversationDraft model
2025-12-16 13:30:16 +05:30
Abhinav Raut
59dd3dcda7
fix: make conversation last seen timestamp and unread counts per agent, right now its global.
...
adds new table `conversation_last_seen`
Migrations for v0.8.5
Remove col `assignee_last_seen_at` from schema
2025-12-13 01:22:59 +05:30
csr4422
08254178f1
Add database queries for draft CRUD operations
2025-12-10 19:29:10 +05:30
vldmkr
532ae1f7d1
feat(imap): enhance searchMessages to fallback to standard SEARCH on ESEARCH failure
2025-12-08 14:14:49 +02:00
Abhinav Raut
d4420cff7d
feat(imap): add fallback for servers without ESEARCH support
...
Check ESEARCH capability before using extended search options. For
servers that don't support ESEARCH, fall back to using sequence
numbers from AllSeqNums() instead of Min/Max range.
Ref #181
2025-12-01 01:34:07 +05:30