Hi @abhinavxd ,
First off, thanks for releasing LibreDesk for everyone to use and modify. It's actually a really great system. When I first tested it, I made a few modifications to see how feasible for our needs it was.
I did try and submit some of those changes as PR's but our project started moving quickly and I've been pumping through many many changes per day that it was hard to submit all as PR's and align our business goals with those goals of the LibreDesk project overall.
In any case, I wanted to bring our branch to your attention as I think there's a lot there that could be valuable to the LibreDesk community. I have no intention of running my own fork and I'd rather see much or all of this brought back into LibreDesk so we're not running our own fork in isolation but I do realise not all of it will fit with your goals.
My branch is here
https://github.com/mageaustralia/libredesk/tree/v1.0.1-plus-enhancements
And it contains all the following:
AI & Knowledge
- OpenRouter AI provider — 100+ models via OpenRouter, encrypted API key storage
- RAG AI assistant — "Generate Response" button, knowledge sources (webpages, macros), system prompt config
- Multimodal AI — Conversation images extracted, resized to 500x500, included in AI prompts
- External search API — Pluggable search integration for RAG pipeline
- AI HTML sanitization — Prevents prompt injection in AI-generated content
Ecommerce Integration
- Maho Commerce / Magento 1 provider — OAuth2 auth, customer & order lookup
- Multi-stage context gathering — Auto-fetches customer + recent orders, scans conversation for order numbers
- "+ Orders" button in reply box for AI responses with ecommerce context
- Ecommerce settings page at /admin/ecommerce
Email & IMAP
- Per-inbox email signatures with dynamic placeholders, From switcher
- Auto-assign on reply — Per-inbox toggle to assign conversation to replying agent
- Agent name in From header — Emails show agent's name, not just inbox name
- IMAP/SMTP connection testing with debug logs
- SMTP test for notification settings
- Multi-folder IMAP polling — Comma-separated mailbox folders
- Email HTML sanitization — Clean incoming email HTML
- DMARC rewrite detection — Detects real sender from forwarded emails (X-Google-Original-From)
- Contact form field parsing — Extracts real customer name/email from HTML form bodies
- Inline CID fix — Non-image attachments (PDF) render as download links instead of broken images
- CC/BCC clear buttons — Per-email remove (X) buttons on TO, CC, BCC fields
Spam & Trash
- Spam/Trash statuses — New conversation statuses with sidebar nav, routes, and API
- Bulk trash — Trash multiple conversations at once
- TrashManager worker — Background auto-purge with configurable retention
- Spam detection — Thread IMAP mailbox name through for spam folder detection
Conversation List & Views
- Table view layout — Card/table switcher with resizable columns
- Bulk actions — Checkboxes, shift+click range select, bulk assign/status/priority
- Quick-assign dropdowns — Inline agent/team assignment from list
- Subject, ticket number, status, priority shown in conversation list
- Filter pill bar with in/not_in/in_or_null operators for views
- Full-width toggle — List/detail and full-width message layout
- Unassigned view fix — Shows all conversations without an agent (not requiring no team too)
- View reactivity — Closing/reassigning tickets removes them from filtered views immediately
Reply & Editor
- Collapsible reply box with unified scrolling
- Larger fullscreen reply editor (92% width/height)
- Send & Set Status dropdown — Send and change status in one click
- Delete draft button
- Macro toolbar button (Zap icon) — Quick access without Ctrl+K
- Cursor position fix — Editor focuses at start, not end of content
Search
- Auto-focus on search input
- Messages as default tab (renamed "Conversations" to "Tickets")
- Back navigation returns to search results
- Session persistence — Search query and results survive navigation
- Null result crash fix
UI & Theme
- Fresh theme — Teal palette, dark sidebar, theme switcher with localStorage persistence
- Fresh theme as default (our needs)
- Sidebar toggle visible in conversation view
- Subject hover preview — Tooltip showing first incoming message
- File attachment redesign — Color-coded icons by file type
- Image rendering fix — Emails render at natural width, not stretched
- Relative timestamps
- Favicon
- Previous Conversations accordion defaults to open
- Contact name from email — Derives name when no display name available
Security
- SSRF protection for external URL fetching and webhooks
- Prompt injection mitigation + O(n^2) stripHTML fix
- Sensitive data redaction in ecommerce API logs
- Internal error detail suppression — No stack traces leaked to clients
- Inbox ID validation on message send
- Encrypted API keys in database
Hi @abhinavxd ,
First off, thanks for releasing LibreDesk for everyone to use and modify. It's actually a really great system. When I first tested it, I made a few modifications to see how feasible for our needs it was.
I did try and submit some of those changes as PR's but our project started moving quickly and I've been pumping through many many changes per day that it was hard to submit all as PR's and align our business goals with those goals of the LibreDesk project overall.
In any case, I wanted to bring our branch to your attention as I think there's a lot there that could be valuable to the LibreDesk community. I have no intention of running my own fork and I'd rather see much or all of this brought back into LibreDesk so we're not running our own fork in isolation but I do realise not all of it will fit with your goals.
My branch is here
https://github.com/mageaustralia/libredesk/tree/v1.0.1-plus-enhancements
And it contains all the following:
AI & Knowledge
Ecommerce Integration
Email & IMAP
Spam & Trash
Conversation List & Views
Reply & Editor
Search
UI & Theme
Security