Abhinav Raut
389c4e3dd3
fix: allow configurable webhook request timeout from config.toml
2025-07-07 00:26:31 +05:30
Abhinav Raut
9a119e6dc3
change log level from Warn to Info for zero rules
2025-07-07 00:18:33 +05:30
Abhinav Raut
ccc5940dd9
return created message in message fetch API
2025-07-06 19:51:44 +05:30
Abhinav Raut
d2e5d85e3a
fix: return created/updated objects in POST/PUT responses with masked secrets
...
All POST/PUT handlers now return actual database objects instead of `true`
2025-06-20 19:35:09 +05:30
Abhinav Raut
9132e11458
refactor return envelope errors from handlers
2025-06-19 00:14:35 +05:30
Abhinav Raut
1b2a5e4f36
feat: standardize API requests to use JSON instead of form data
2025-06-18 01:30:38 +05:30
Abhinav Raut
c37258fccb
feat: API key management for agents, api keys can now be generated for any agent in libredesk allowing programmatic access.
...
- Added endpoints to generate and revoke API keys for agents.
- Updated user model to include API key fields.
- Update authentication middleware to support API key validation.
- Modified database schema to accommodate API key fields.
- Updated frontend to manage API keys, including generation and revocation.
- Added localization strings for API key related messages.
2025-06-16 23:45:00 +05:30
Abhinav Raut
88d719ec4f
fix remove unncessary indexes on webhooks table
2025-06-15 13:10:19 +05:30
Abhinav Raut
147180a536
remove unused headers column from webhooks table
2025-06-15 13:05:14 +05:30
Abhinav Raut
faa195f0a6
fix typo in prepared query
2025-06-15 12:43:28 +05:30
Abhinav Raut
4b0422d904
Reduce duplicate database conversation fetches by adding a new method EvaluateConversationUpdateRulesByID that accepts only a conversation ID instead of a conversation object, allowing the caller to control the behavior since the caller might already have the conversation object or might want a fresh fetch.
...
- Return early if user / team is already assigned to a conversation
- rename query get-pending-messages to get-outgoing-pending-messages to reflect purpose.
2025-06-15 12:43:01 +05:30
Abhinav Raut
27aac88f53
update webhook payloads, send reduced payloads showing what changed instead of entire objects
2025-06-14 21:51:11 +05:30
Abhinav Raut
cb6b0e420b
adds missing colunms from select query were missing for webhook events
2025-06-14 21:49:31 +05:30
Abhinav Raut
e004afd7d1
fix: remove unused email fields from Conversation model
2025-06-14 21:49:01 +05:30
Abhinav Raut
6a77d346dc
feat: add version package to hold application version for build time configuration
2025-06-14 21:48:55 +05:30
Abhinav Raut
60c89cb617
use http client with set timeout for webhook requests
...
remove db calls from `TriggerEvent`
2025-06-14 21:48:46 +05:30
Abhinav Raut
b7d4b187e8
fix: adds missing conversation update rule evaluation missing for event EventConversationTeamAssigned
...
refactor code
2025-06-14 19:55:24 +05:30
Abhinav Raut
2bf45f32de
fix: remove headers field from webhook model and related queries
2025-06-14 15:03:11 +05:30
Abhinav Raut
981372ab86
wip webhooks
2025-06-13 02:17:00 +05:30
Abhinav Raut
03b932c1c0
fix: handle empty inbox email address in fetchAndProcessMessages
2025-06-08 12:17:58 +05:30
Abhinav Raut
012de059e7
fix: remove conflicting constraints on NOT NULL columns in applied_slas and csat_responses tables, update constraints for csat_responses and applied_slas tables to cascade deletes instead
2025-06-08 11:50:22 +05:30
Abhinav Raut
53d5715429
fix: implement loop prevention header in emails
...
#Ref 90
2025-06-08 02:22:36 +05:30
Abhinav Raut
e567acbe59
fix(sql): overview report for days = 0 i.e. todays data
2025-06-08 01:24:01 +05:30
Abhinav Raut
57d0e90b5f
refactors(i18n-keys): use correct keys in vue and go errors
...
- fix: invalidate agent cache on update / create
2025-06-08 00:59:15 +05:30
Abhinav Raut
d95a5f40cf
feat: add agent cache in user package
...
- use cached agent in all middlewares
- fix: race in casbin that gave permission denied error.
- stop loading permissions into casbin on every `Enforce` function call instead cache user permissions in authz package and when permissions change only the load permission as policies atomically.
- sort permissions in get-agents to make the permissions slice comparsion using slices.Equal work
2025-06-07 23:43:21 +05:30
Abhinav Raut
ade833fb7b
fix: waiting_since timestamp being set to null on a non-outgoing message.
...
- Set to null only after outgoing message is sent
- change imap log from debug to info
2025-06-07 19:57:28 +05:30
Abhinav Raut
625a08d0aa
feat(conversation): add support for nested websocket property updates and broadcast changes for all contact and custom attributes
2025-06-07 18:58:17 +05:30
Abhinav Raut
d532a99771
feat: new package report, move exisiting report code from conversations pkg to report package
...
- new sla performance overview cards.
2025-06-06 02:07:19 +05:30
Abhinav Raut
50baa3f38e
remove redundant comments for Manager struct across multiple files
2025-06-06 01:04:07 +05:30
Abhinav Raut
ea0b7d6d52
docs: update email templating docs with complete variable reference
...
- adds new `Author` template var and injects it into all templates
- make author fields empty for all automated system generated emails
2025-06-05 01:55:38 +05:30
Abhinav Raut
2efd07b405
add error logs for casbin errors
2025-06-04 00:07:27 +05:30
Abhinav Raut
0b9cf38826
fix: update assignee last seen only if current conversation is open
...
- standardize timestamp function to uppercase NOW() in SQL queries
2025-06-04 00:07:13 +05:30
Abhinav Raut
cd0a357695
fix: change order of macros selection to updated_at descending
2025-06-03 04:41:24 +05:30
Abhinav Raut
8bc0cce993
fix: update default values for visible_when column in macros table
2025-06-03 04:08:29 +05:30
Abhinav Raut
f6e2fc1956
feat: allow sending attachments in new conversations
...
- replace existing combobox selects with common component selectcombobox.vue
2025-06-03 04:03:16 +05:30
Abhinav Raut
5fe5ac5882
fix: change order of macros selection to usage_count descending
2025-06-03 00:56:16 +05:30
Abhinav Raut
975577555d
WIP: allow setting macro in new conversations along with attachments
...
- new composable useFileUpload.js
2025-06-02 03:56:04 +05:30
Abhinav Raut
65cac843cb
fix: IMAP fetch blocking introduced by header fetching in this commit - https://github.com/abhinavxd/libredesk/commit/9a651702ce495a5319afb6594e14471e29b31cb0
...
Two separate fetches caused blocking when first fetch wasn't fully consumed.
Collect all envelope/header data first, then process to prevent deadlock.
2025-05-31 18:24:05 +05:30
Abhinav Raut
23b0481f24
update reference number format in conversation insert query, use - #number format instead of square bracket
2025-05-30 02:01:51 +05:30
Abhinav Raut
9a651702ce
fix[imap]: skip auto reply email messages
...
Fixes #94
2025-05-30 02:00:18 +05:30
Abhinav Raut
a0203f882e
fix: allow changing conversation status to resolved again & again as agent might change the snooze duration
2025-05-30 00:46:30 +05:30
Abhinav Raut
3998798e54
refactor: rename SQL query names and struct fields for clarity and consistency
2025-05-27 02:45:43 +05:30
Abhinav Raut
70b5da29e1
fix: change SLA deadline fields to use nullable types
2025-05-26 03:48:41 +05:30
Abhinav Raut
88ef5d26db
fix: update sla timestamps to nullable types
2025-05-26 03:48:41 +05:30
Abhinav Raut
54bad59392
fix: getConversation to handle nullable UUID parameter
2025-05-26 03:48:41 +05:30
Abhinav Raut
506bb91e20
fix: make sla metric timestamps nullable
2025-05-26 03:48:41 +05:30
Abhinav Raut
d1478e1971
fix: clarify comment on SendNotification method regarding SLA linkage
2025-05-26 03:48:41 +05:30
Abhinav Raut
5583b472f7
fix: change debug logs to info level for scheduled SLA notifications
2025-05-26 03:48:41 +05:30
Abhinav Raut
b715483260
refactor(conversation): reduce DB I/O by using existing appliedSLAID from conversation
...
- Passes appliedSLAID directly to SLA logic instead of refetching
- Adds appliedSLAID field to conversation struct (already fetched in get-conversation query)
2025-05-26 03:48:41 +05:30
Abhinav Raut
8ce0464603
fix: simplify time_delay validation in SLA notification schema
2025-05-26 03:48:41 +05:30