Commit Graph

105 Commits

Author SHA1 Message Date
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 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 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 3365dec441 fix: disallow search queries with less than 3 characters 2025-02-20 03:36:22 +05:30
Abhinav Raut 642f97af69 fix: fixes to sidebar for smaller devices.
- fix: avatarless contact message bubble.
- fix: set viewport width to device width.
- revert[backend]: remove demo env check for starting backend services. i changed my mind.
2025-02-19 02:08:45 +05:30
Abhinav Raut 9d3ca81796 chore: increase sidebar width
feat: demo mode - don't start services.
2025-02-18 02:02:16 +05:30
Abhinav Raut ce33b6e2a4 chore: update config sample toml.
- remove s3 bucket bucket type from config, make bucket private by default.
2025-02-13 00:49:22 +05:30
Abhinav Raut 6b545fe2fe feat: update make file adds dev environment targets. 2025-02-13 00:49: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 bc3b458d2c feat: message activity inconverstions when a new tag is added. 2025-02-07 03:48:54 +05:30
Abhinav Raut 046bc46196 refactor. 2025-02-07 02:59:22 +05:30
Abhinav Raut ceb076bbba refactor: organize frontend project structure
- feat: add toggle for conversation sidebar
- save sidebar state in localstorage.
2025-02-06 03:33:13 +05:30
Abhinav Raut 9b7ecd65f0 rename handler 2025-02-03 23:37:09 +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 57015186bc refactor and update doc strings. 2025-02-02 17:07:08 +05:30
Abhinav Raut 0ea9038a3f refactor oidc auth 2025-02-02 16:59:46 +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 be80c51e32 feat: public handle to get available/ enabled oidc providers. 2025-01-30 01:46:33 +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 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 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 140dae305c feat: max active conversation auto assignement limits to agents 2025-01-25 16:40:11 +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
Abhinav Raut 3c71ab35ff Feat: Add SLAs per team
- Feat: Provide the ability to change SLAs for conversations; this will start a new deadline calculation from the time the SLA is set.
2025-01-24 04:34:51 +05:30
Abhinav Raut 8ded2692a3 feat: ability to unassign converstions, new uassigned dropdown options in conversations sidebar for teams and users. 2025-01-23 01:51:22 +05:30
Abhinav Raut 50188352a5 fix: Use SyncedEnforcer in casbin, fixes panics.
feat: store user roles in user roles table, drops the roles table on users table.
feat: standardize column names in schema, renames disabled bool to enables.
- vue router fixes to allow components / pages to rerender after creating an object in db.
- minor fixes and refactors.
2025-01-22 03:40:32 +05:30
Abhinav Raut 94b39fc0fd feat: views now don't need the inbox type value on which the filters have to be applied, it generates dynamic sql based on the user permissions and filters them 2025-01-21 02:36:43 +05:30
Abhinav Raut 16b6ad96ea refactor[backend]: pick worker counts and intervals from config. 2025-01-20 02:13:44 +05:30
Abhinav Raut 0c01b53b09 feat(conversations): add trigram index for searching ref numbers
feat(messages): add trigram index for text content search
- feat: UI animations for conversation and messages list.
- Simplify websocket updates.
2025-01-19 23:10:53 +05:30
Abhinav Raut 87c14aa15d feat: Macros, macros not completely replace canned responses as they do the same job as canned repsonse.
- tiptap editor fixes for hardlines.
- set app font to jakarta, fix shadcn components having a different font.
- UI improvements on /admin
- UI improvements on inbox tab.
2025-01-17 04:57:01 +05:30
Abhinav Raut 6475d14ab2 feat: update send private note response to return message string 2025-01-12 20:39:39 +05:30
Abhinav Raut 92b614ddf6 feat[automation]: ability to drag and drop automation rule and set their execution order
- feat[automation]: execution mode for automations to execute the first matching rule or run all.
- Refactor automations to use fields, values, operator and select options from @/consts @/composables
- Refactor view filters to use the pick fields, values, operator, select options from @/consts @/composables
- feat: Move from yarn to pnpm!
- feat: Custom component ComboBox, replaces convo sidebar inputs with  combo
box.
- feat: initialize stores on app load to avoid multiple API calls by storing data in Pinia.
- change app fontm trying diff fonts.
- Keep side bar menu items by default open in inboxes .
2025-01-12 06:20:45 +05:30
Abhinav Raut 0c54abbbad refactor: rename modules and imports to reflect project name 2025-01-11 21:46:29 +05:30
Abhinav Raut 252c91cb3c feat: emojis for teams 2025-01-10 04:08:00 +05:30
Abhinav Raut 8596807e56 feat: emoji picker
- fix: Fatal issued during inbox reload instead return errors.
- rename functions in inbox pkg to reflect purpose.
- rename page titles on router.
- remove iconify.
2025-01-10 03:48:03 +05:30
Abhinav Raut f30a7f07d0 feat: keyboard shortcuts to send message in a conversations (CTRL + Enter) to send, enter for newline.
- feat: button to show/hide quoted text of incoming emails.
- fix: logout redirect
- remove hardcoded user login info.
- add libredesk.io to webtemplate footer
2025-01-10 02:46:14 +05:30
Abhinav Raut 98537825e9 feat: AI clean up of agent responses, adds new ai package
- feat: full screen tiptap editor, esentially two editors that attempt to keep their state in sync.
- moves tiptap editor menu bar to to show up as a bubble once text is selected.
- Layout fixes and improvements.
- Improves /reports/overview charts and cards.
2025-01-09 05:01:33 +05:30
Abhinav Raut d8e29b569f feat: conversation snooze
feat: command menu on press ctrl + k
feat: CSAT email when a conversation is marked resolved.
feat(AI)  agent message rewriting with OpenAI prompts
2025-01-08 06:34:28 +05:30
Abhinav Raut 7f4f8ecf66 fix[frontend]: sidebar active state
- replace conversation sidebar with shadcn sidebar
- refactor: rename and simplify permissions for better clarity and usability
- WIP - Snoozing of conversations and UI.
2025-01-07 04:23:27 +05:30
Abhinav Raut caf8e7d34d WIP: MVP with shadcn sidebar
- csat
- SLA
- email notification templates
2025-01-06 02:39:44 +05:30
Abhinav Raut 48e89dc4b9 feat: hot reload package configs on change, no binary restart needed
- feat: soft deletion for users, inboxes, teams, and tags
- Rename tables and queries.
2024-11-13 01:47:16 +05:30