Skip to content

My work on LibreDesk over the last month #259

Description

@mageaustralia

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions