Commit Graph

255 Commits

Author SHA1 Message Date
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 2468b91c8e translate oauth changes in email inbox form
- log warnings when sample encryption key is used for libredesk and when encrytion key is not 32 chars
2025-12-26 04:10:04 +05:30
Abhinav Raut f6d8e40148 validate reconncted inbox email addr with the inbox being updated 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 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 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 364b551106 fix: add meta size validation in draft handling 2025-12-24 00:42:27 +05:30
Abhinav Raut aed1b904bb fix: reorder migration list to ensure correct upgrade path 2025-12-24 00:37:38 +05:30
Abhinav Raut 36e03c14d7 Merge branch 'main' into fix/reply-draft-persistence 2025-12-24 00:32:52 +05:30
Abhinav Raut 07457acd79 fix: skip attachments already associated with another model in message sending 2025-12-24 00:20:09 +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 0f67df945d fix: update draft retention duration to default to 720 hours if not set 2025-12-21 23:40:00 +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 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
csr4422 459bcaecf6 feat: register draft API endpoints 2025-12-16 13:45:35 +05:30
csr4422 2db50b7978 feat: add HTTP handlers for draft endpoints 2025-12-16 13:44:02 +05:30
egerong 1e257fe57f Enable setting redis config via url 2025-12-14 13:42:20 +02:00
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
egerong 2c175a6d96 Add support for setting redis user 2025-12-11 18:02:34 +02:00
Abhinav Raut 1f3ba077e9 Fix: New conversation creation should assign the team first, then the agent, since assigning the team later clears the agent assignment. 2025-12-10 01:09:35 +05:30
egerong 4a0c57c2e2 Use double underscore for delimiter 2025-11-30 21:08:13 +02:00
egerong 3bc98bfd15 Implement parsing configuration from environment variables 2025-11-30 16:32:31 +02:00
Abhinav Raut 2331a2c970 add validation for empty file uploads with appropriate error message 2025-11-26 15:25:59 +05:30
Abhinav Raut a7ec336853 Update cmd/media.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-25 17:18:05 +05:30
Abhinav Raut f516bbfa12 fix: improve MIME type detection and content disposition handling for media uploads for s3 store. 2025-11-25 16:06:36 +05:30
Abhinav Raut 3ba93d8dd6 fix: redirect to next query param after login not working
fixes #169
2025-11-21 01:00:43 +05:30
Abhinav Raut dc14e80560 Fix media URLs not updating when root URL changes in settings 2025-11-09 21:08:59 +05:30
Abhinav Raut b8da96c1d1 fix: set Content-Disposition header for media served from filesystem
set inline for videos, images and pdfs and attachment for rest
2025-11-03 13:11:27 +05:30
Abhinav Raut a4a9a9ccd3 trim feedback length to 1000 chars 2025-09-15 23:29:57 +05:30
Abhinav Raut 6f300bb073 Fix: Contact form displays countries with the same calling code incorrectly.
For example, when a user selects the USA, the form also shows Canada, as both share the +1 calling code.

Rename column from `phone_number_calling_code` to `phone_number_country_code`.

Feat: Show the calling code alongside the country flag in the contact form for the selected country. Previously, only the flag was displayed.
2025-09-14 19:36:30 +05:30
Abhinav Raut 210b8bb53b feat: add support for sending messages as contact
- introduce new permission `messages:write_as_contact` that needs to be set to allow this.
2025-09-13 20:55:04 +05:30
Abhinav Raut 007c332a7d remove font-medium from data table columns in all data tables
- Remove permissions requirement for GET on roles
2025-09-09 23:22:08 +05:30
Abhinav Raut 98492a1869 refactor: use team compact struct for user teams list
- Check for existing email before agent update and raise proper error
2025-09-02 02:00:35 +05:30
Abhinav Raut 12ebe32ba3 return complete contact note by refetching it using GetNote 2025-09-02 00:32:29 +05:30
Abhinav Raut 3ce3c5e0ee store public config in pinia store 2025-09-01 03:20:09 +05:30
Abhinav Raut 9ec96be959 rename AppUpdate component with AdminBanner
- show banner when app restart is required.
- UI changes to admin banner
2025-08-31 20:08:38 +05:30
Abhinav Raut 7d4e7e68c3 update user avatar upload function to accept user by value and improve error logging by logging the user id 2025-08-31 18:48:02 +05:30