Commit Graph

940 Commits

Author SHA1 Message Date
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 b1e0295c2b allow setting same macro content again 2025-12-24 00:13:53 +05:30
Abhinav Raut 67ade61250 store content in local storage first and sync with backend on certain events 2025-12-23 01:05:57 +05:30
Abhinav Raut cfec05c2ae refactor reply drafts 2025-12-23 00:33:16 +05:30
Abhinav Raut decbdaf088 Merge pull request #201 from jleroy/i18n/update-2025-12-21
Updating translations
2025-12-22 11:00:34 +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
Jonathan Leroy 162ba34d03 Update translations 2025-12-21 16:48:59 +01:00
Abhinav Raut 5bd053a35a Update roadmap with WIP status for features
Mark several features as work in progress.
2025-12-21 21:18:04 +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 159e8ae576 fix errors while fetching draft on conversation without any saved drafts 2025-12-21 20:27:30 +05:30
Abhinav Raut bb6b56eeef Merge pull request #196 from trabulium/fix/null-password-handling
fix: Handle NULL password field for imported contacts
2025-12-21 20:22:30 +05:30
Abhinav Raut fe4b0acf98 clean up 2025-12-21 19:46:00 +05:30
Abhinav Raut 4a70b945fe clean up draft store 2025-12-21 19:32:03 +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
Abhinav Raut bb89728eee Update README.md 2025-12-20 18:57:24 +05:30
Abhinav Raut 546fc160c6 Update README.md 2025-12-20 18:52:58 +05:30
Abhinav Raut 4cbc55fe85 add roadmap.md 2025-12-20 18:52:44 +05:30
Abhinav Raut 0a245e001c Revise developer section in README
Updated developer contribution guidelines and clarified tech stack.
2025-12-20 18:45:52 +05:30
Abhinav Raut 1d4394e6f7 Update contribution guidelines for clarity
Clarified contribution guidelines regarding large changes.
2025-12-20 18:44:58 +05:30
Abhinav Raut 7a153d7f0c Create CONTRIBUTING.md with guidelines and process
Added contribution guidelines and process for Libredesk.
2025-12-20 18:43:17 +05:30
Abhinav Raut bf63fd6cb1 fix border in convo list 2025-12-18 00:49:35 +05:30
Abhinav Raut 9a43bcefe9 add bottom border to conversation list when there's only 1 conversation in list 2025-12-18 00:43:10 +05:30
Ubuntu 0a5e5de544 fix: Handle NULL password field for imported contacts
Change Password field from string to null.String in User model to properly
handle contacts imported from external systems (e.g., Magento) that have
NULL passwords in the database.

Previously, fetching contacts with NULL passwords caused a SQL scan error:
"sql: Scan error on column index 4, name \"password\": converting NULL to
string is unsupported"
2025-12-17 12:25:58 +00:00
csr4422 c740de7ab2 refactor: remove localStorage, use database-only draft storage 2025-12-16 19:47:29 +05:30
csr4422 eddaf4a55a refactor: make draft manager async for backend integration 2025-12-16 13:51:49 +05:30
csr4422 2cf8de6798 feat: integrate backend API with draftStore 2025-12-16 13:49:26 +05:30
csr4422 5667039d7f feat: add draft API service methods 2025-12-16 13:47:07 +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
csr4422 e6bafb20a6 feat: implement draft manager methods 2025-12-16 13:37:39 +05:30
csr4422 cd8c5ab119 add ConversationDraft model 2025-12-16 13:30:16 +05:30
Abhinav Raut 2703478499 fix: use vue-letter to render html in contact notes, command box. This prevents forms from being injected in contact notes, macros etc.
Use common message bubble component to render msg bubbles. Delete duplicate contact and agent msg bubbles.

Remove vue dompuritfy html dep
v0.8.6-beta
2025-12-16 00:47:58 +05:30
Abhinav Raut ab4801ccb7 Merge pull request #191 from egerong/feature/redis-url
Enable setting redis config via url
2025-12-14 19:39:26 +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
v0.8.5-beta
2025-12-13 01:22:59 +05:30
Abhinav Raut b6622e7916 Merge pull request #189 from egerong/feature/redis-user
Add support for setting redis user
2025-12-11 23:44:20 +05:30
egerong 2c175a6d96 Add support for setting redis user 2025-12-11 18:02:34 +02:00
csr4422 08254178f1 Add database queries for draft CRUD operations 2025-12-10 19:29:10 +05:30
csr4422 cabd7af5fb Add conversation_drafts table for draft reply storage 2025-12-10 17:53:48 +05:30
Abhinav Raut 0413fb89e8 pin alpine to version 3.18 in dockerfile v0.8.4-beta 2025-12-10 15:01:22 +05:30
Abhinav Raut 3a3518cbc7 fix layout shifts when vue-letter html has big tables 2025-12-10 13:23:37 +05:30
Abhinav Raut 5d11db5fbf layout fixes 2025-12-10 04:46:35 +05:30
Abhinav Raut f1630fc1bc set auth layout bg color to #fafafa 2025-12-10 01:14:22 +05:30