Abhinav Raut
6b4f243b74
chore: more validations before savign an inbox
...
chore: update error msgs for clarity
2025-03-25 00:47:35 +05:30
Abhinav Raut
698e2d960e
chore: add more comments to message handlers.
2025-03-24 23:13:55 +05:30
Abhinav Raut
a8db8f64b5
refactor: conversation handlers to use existing enforceConversationAccess function for authz check
2025-03-24 23:13:23 +05:30
Abhinav Raut
7e16cc1a74
refactor(notifier): remove dependency on user store, instead accept recipient emails
2025-03-21 23:23:35 +05:30
Abhinav Raut
aeef7d4ad7
feat: configurable SLA alerts per SLA.
2025-03-21 23:23:03 +05:30
Abhinav Raut
83b891c92a
fix: import tz data in main.go
2025-03-15 00:27:46 +05:30
Abhinav Raut
43184ec2f3
feat: add TLS type option to inbox SMTP and IMAP config and TLS skip verify option.
...
feat: Adds `scan_inbox_since` config for IMAP to set the `SINCE` parameter for imap search, this will allow to scan only the emails received after the given date / time.
chore: remove autoform, use individual form fields for form field.
2025-03-14 21:53:15 +05:30
Abhinav Raut
09703c1090
migrations for v0.5.0
2025-03-12 02:45:32 +05:30
Abhinav Raut
d1f931106d
fix: do not reopen onversations on agent messges, let the agents open conversations by themselves.
2025-03-12 02:40:06 +05:30
Abhinav Raut
227aa26c35
- fix: Inline images present in email quote replies previously not visible, now show up correctly, the media does not get uploaded again instead the existing media url is replaced with the cid url.
...
- fix: content id check for attachments, as content id is not globally unqiue.
- fix: send missing websocket updates to the fronend on conversation status update.
- refactor: combine get media by id and uuid into a singlequery
2025-03-12 02:39:39 +05:30
Abhinav Raut
79a3f0ff70
refactor: move set SLA deadlines to SQL query and remove from code
2025-03-12 02:31:19 +05:30
Abhinav Raut
a4cb373f32
fix: validate time durations and ensure first response time is less than resolution time in SLA handling
2025-03-11 02:47:55 +05:30
Abhinav Raut
f12efe5511
fix: remove trailing slash from root URL in settings update
2025-03-09 16:43:40 +05:30
Abhinav Raut
6fb35b90b3
fix: move apply SLA on team change from handler to conversations pkg as automations will also change assigned team and that should also set the appropriate SLA defined for the team.
2025-03-06 20:47:19 +05:30
Abhinav Raut
57c1948379
fix[OOM]: fix read buffer size configuration in server settings, the readbuffer was set to the max body size making the binary go OOM.
2025-03-06 15:10:23 +05:30
Abhinav Raut
8e15d733ea
fix: regression in sso login caused due to attempting in hiding client secret in the API response. Resolves #21
2025-03-05 16:13:13 +05:30
Abhinav Raut
8551b65a27
fix: set references header in all outgoing emails, set the last 20 messages.
...
feat: set conversation reference number in the subject of conversation for better thread matching.
fix: hide CSAT link from conversation last message.
2025-03-05 03:49:22 +05:30
Abhinav Raut
eb499f64d0
chore: adds v0.4.0 to migration list.
2025-03-05 02:33:03 +05:30
Abhinav Raut
494bc15b0a
feat: Enable agents to create conversations from the UI
...
Before this feature the only way to create a conversation was by adding inbox and sending an email.
Agents first search contacts by email, see a dropdown select an existing contact or fill a new email for new contact.
The backend creates contact if it does not exist, creates a conversation, sends a reply to the conversation.
Optinally assigns conversation to a user / team.
fix: Replies to emails create a new conversation instead of attaching to the previous one.
Was not happening in gmail, as gmail was sending the references headers in all replies and I missed this completely. So when libredesk searches a conversation by references headers it worked!
Instead the right way is to generate the outgoing email message id and saving it in DB. This commit fixes that.
There could be more backup strategies like putting reference number in the subject but that can be explored later.
chore: new role `conversatons:write` that enables the create conversations feature for an agent.
chore: migrations for v0.4.0.
2025-03-05 01:17:42 +05:30
Abhinav Raut
10b4f9d08c
feat: show app version in admin tab
...
fix: view form validations and issues with reactivity
feat: save team inbox and view inbox dropdown state in localstorage.
fix: view inbox dropdown icon alignment.
2025-03-02 20:49:19 +05:30
Abhinav Raut
8f6295542e
fix: destroy user session when user account is disabled.
2025-03-02 19:17:42 +05:30
Abhinav Raut
58825c3de9
fix: handle invalid sessions by destroying them and redirecting to login
2025-03-02 16:31:00 +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
98534f3c5a
fix: reduce update check interval and initial sleep duration
...
As Libredesk is Alpha I will be pushing quick updates and fixes
2025-02-28 22:12:01 +05:30
Abhinav Raut
da5dfdbcde
fix: prevent email enumeration in reset password flow.
2025-02-28 20:57:47 +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
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