Commit Graph

125 Commits

Author SHA1 Message Date
Abhinav Raut 03c68afc4c fix: max age not working for cookies
Switch from expires to max age for setting cookie expiry
Set default max age to 9 hours
2025-03-02 16:28:26 +05:30
Abhinav Raut 96ef62b509 fix: reduce pagination sizes for conversation and message lists 2025-03-02 03:03:33 +05:30
Abhinav Raut 1b63f03bb1 feat: include recipient details in email templates
With this the admin can simply add
```
Dear {{.Recipient.FirstName}},
```

To the default outgoing template and all outgoing emails will have the receipient name.
2025-03-01 20:04:49 +05:30
Abhinav Raut 26d76c966f feat: allow setting OpenAI API KEY from the UI.
feat: new `ai:manage` permission for the same
Migrations for new role.
2025-03-01 19:40:18 +05:30
Abhinav Raut 1ff335f772 fix: improve welcome email template styling and content
fix: extra large app logo in base template.
refactor: standardize template variables, explicitly pass variables for rendering into template
2025-03-01 19:10:50 +05:30
Abhinav Raut c75c117a4d fix: improve password handling and error reporting during password reset 2025-02-27 01:58:08 +05:30
Abhinav Raut 67e1230485 feat: agent availability status
New columns in users table to store user availability status.

Websocket pings sets the last active at timestamp, once user stops sending pings (on disconnect) after 5 minutes the user availalbility status changes to offline.

Detects auto away by checking for mouse, keyboard events and sets user status to away.

User can also set their status to away manually from the sidebar.

Migrations for v0.3.0

Minor visual fixes.

Bump version in package.json
2025-02-26 04:34:30 +05:30
Abhinav Raut fcbd16f042 feat: implement app update checker and UI notification 2025-02-25 02:49:09 +05:30
Abhinav Raut 425bb4ed04 feat: add database upgrade functionality (adapted from listmonk) 2025-02-25 01:35:27 +05:30
Abhinav Raut 89eb05f337 feat: disallow edits for admin role
- chore: minor layout fixes
- chore: adds doc strings to handlers
2025-02-24 22:07:24 +05:30
Abhinav Raut 17efaf0f2c fix: update password strength requirements and hint for system users 2025-02-24 02:42:27 +05:30
Abhinav Raut 5361bcb24f feat: dockerize libredesk
- feat: new flag for idempotent installation `--idempotent-install`
- feat: new flag to skip yes/no prompt `--yes`
- feat: new flag for upgrades `--upgrade`
- refactor: update doc strings and sample toml file.
- chore: update .gitignore.
2025-02-22 23:33:18 +05:30
Abhinav Raut d2a79d9a10 feat: store last message sender in conversation as this will be used to show the Reply icon in the conversations list.
- Introduces new column `last_message_sender` in conversations table.
- Changes to propogate this new column in websocket updates.
2025-02-21 21:40:57 +05:30
Abhinav Raut 8567baa0e1 chore: remove 'In Progress' and 'Waiting' from default statuses
As an admin can always add custom statuses and expand upon the existing ones, the `In Progress` and `Waiting` statuses are not required.
2025-02-21 20:40:32 +05:30
Abhinav Raut 01c136c469 fix: handle unlimited limit for max auto assigned conversations too user. 2025-02-21 20:34:15 +05:30
Abhinav Raut 62e38814c7 feat: API to discover OIDC provider
- fix: discover oidc provider first before attempting to create one.
2025-02-21 20:34:15 +05:30
Abhinav Raut a6eca649f4 feat: cache conversation messages 2025-02-20 03:41:22 +05:30
Abhinav Raut 356a206110 fix: new incoming messages having 0 attachments in API responses, upload attachments first before sending out websocket updates.
- refactor: stringutils package remove unncessary `string` in function names.
- minor refactors.
2025-02-08 18:04:02 +05:30
Abhinav Raut 37070770bf fix: SLA status updates 2025-02-08 17:56:12 +05:30
Abhinav Raut 6d55cf73a4 fix: omit empty messages id from JSON marshal 2025-02-08 16:35:53 +05:30
Abhinav Raut bc3b458d2c feat: message activity inconverstions when a new tag is added. 2025-02-07 03:48:54 +05:30
Abhinav Raut c5cf62573e fix: overview report sql 2025-02-06 03:04:18 +05:30
Abhinav Raut 9920448ac0 fix[sql]: move model_type first in JOIN for better index usage - (model_type, model_id) 2025-02-04 02:24:41 +05:30
Abhinav Raut c8ee82e3e5 set 48 hr expirty to login cookie. 2025-02-04 00:47:06 +05:30
Abhinav Raut 37b3c4abcc feat: adds waiting since in API responses and structs.
chore: rename senderTypeUser to senderTypeAgent to keep naming consistent.
2025-02-04 00:08:51 +05:30
Abhinav Raut 543fb07a94 fix indefinite block when processing imap messages. 2025-02-04 00:07:43 +05:30
Abhinav Raut cfe15ba275 feat: adds waiting_since column to conversations, start saving waiting_since on agent and contact reply.
- fix: waiting since sort order, use the new `waiting_since` column.
2025-02-03 23:36:38 +05:30
Abhinav Raut 6993d972ab fix[SLA]: Use conversation created_at time as start time for SLA calculation. This makes sure when SLA is changed for a conversation the elapsed time carries over.
refactor: improve error handling and update comments for clarity
2025-02-02 23:51:50 +05:30
Abhinav Raut d3c2cc2527 feat: add CSAT sending functionality and improve error handling in templates
feat: automation action to send CSAT.
- minor refactors.
2025-02-02 21:03:09 +05:30
Abhinav Raut d7ac76824f cleanup: remove assigned_agent_id column from csat responses table. 2025-02-02 18:46:43 +05:30
Abhinav Raut 57015186bc refactor and update doc strings. 2025-02-02 17:07:08 +05:30
Abhinav Raut 7ff2a7ea7d doc: adds doc string for auth structs. 2025-02-02 16:59:57 +05:30
Abhinav Raut a699619d7a fix[IMAP]: Pass context to allow early exit from IMAP processing loops on cancellation 2025-02-02 14:17:23 +05:30
Abhinav Raut b15c07c5a6 fix: return user friendly error messages on initializing new oidc provider. 2025-02-02 14:13:49 +05:30
Abhinav Raut 9939d6206f feat: reload app constants and Templates on update of app settings 2025-02-01 05:34:19 +05:30
Abhinav Raut 1549e87370 fix: OIDC login. 2025-02-01 04:23:26 +05:30
Abhinav Raut 102b4f7fd4 fix: conversation object level permissions check. 2025-02-01 02:44:28 +05:30
Abhinav Raut ba5e845932 chore: remove dead code. 2025-02-01 02:43:43 +05:30
Abhinav Raut 52178238a7 fix: incoming email attachments being ignored for uploads
- make disposition media column null in code. use null type.
2025-01-30 01:45:54 +05:30
Abhinav Raut 60bb6e48bf fix: user form enabled column omitted from marshal. 2025-01-30 01:44:33 +05:30
Abhinav Raut 966707191d fix: oidc hide secrets in json marshal
- adds new public handler that returns available providers.
2025-01-30 01:43:44 +05:30
Abhinav Raut 9661e9d62d fix: send user friendly error messages for ai provider request errors. 2025-01-30 01:42:19 +05:30
Abhinav Raut 19090b64a5 fix: disallow updating default statuses. 2025-01-29 01:42:56 +05:30
Abhinav Raut d291c3f4b9 feat: conversation reference sequence numbers with optional prefix, adds a postgres function that takes optional prefix and combines the sequence number with it. e.g. TIK100 where TIK is the reference is the prefix and 100 is the sequence number.
- feat: start conversation sequence number from 100.
- fix: enforce consistent ON DELETE behavior across schema relationships.
- fix: prevent application of same SLA to a conversation when assigned team changes.
- fix: Automation apply SLA action use assigned team's working hrs and timezone first and then fallback to workspace timezone and working hours.
- frontend fixes
2025-01-29 00:49:36 +05:30
Abhinav Raut 96564595d7 feat: previous conversations in conversation sidebar
- UI improvements in Conversation sidebar.
2025-01-25 18:25:14 +05:30
Abhinav Raut 6f8bbaf67b remove print 2025-01-25 16:43:31 +05:30
Abhinav Raut 140dae305c feat: max active conversation auto assignement limits to agents 2025-01-25 16:40:11 +05:30
Abhinav Raut 9c98adfb7a fix[automation]: for contains operator do a substring match instead of per word match
- feat: contact email as a field in automation rule fields.
2025-01-25 15:43:57 +05:30
Abhinav Raut cc6b16162d feat: re-open closed, resolved and snoozed conversations. 2025-01-25 05:01:11 +05:30
Abhinav Raut 52e401c601 feat: email cc and bcc in conversation replies
- feat: adds cc and bcc inputs in conversation text editor.
- feat: mask conversation id in api responses.
- customize shadnc dialog to hide close button & cross icon.
2025-01-25 03:47:17 +05:30