Skip to content

Repository files navigation

AdamSmartSearchUI

AdamSmartSearchUI module icon

Enhanced unified conversation search for FreeScout.

Version 2.8.2 · AdamCoffeeOverflow · AGPL-3.0

Overview

AdamSmartSearchUI adds an always-visible navbar search and a dedicated Smart Search workspace without modifying FreeScout core files.

Version 2.8.2 is the FreeScout 1.8.233 compatibility and source-reverification release. The 2.8.0 security, privacy, search-bound, wildcard, throttling, and bulk-truthfulness hardening remains intact; the FreeScout contracts used by Smart Search were rechecked against the exact 1.8.233 source before this release.

Screenshots

Always-visible navbar search

AdamSmartSearchUI navbar search

Smart Search workspace

AdamSmartSearchUI search workspace

Suggestions and recent searches

AdamSmartSearchUI suggestions dropdown

Features

  • Conversation ID, number, subject, and preview search
  • Customer name, email, and phone search
  • Optional Custom Fields search
  • Optional message, reply, and internal-note search
  • Mailbox, status, folder, and assignee filters
  • Deleted-conversation display
  • Always-visible navbar search with suggestions
  • Page-based bulk assignment, status, and internal-note actions
  • Responsive desktop and mobile interface
  • English and French translations

What changed in 2.8.1

  • Reverified Smart Search against FreeScout 1.8.233 (9492779dfc83fde23073f7faa7d0d44700581f15)
  • Confirmed assigned-only core search still enforces conversations.user_id = current user
  • Confirmed FreeScout's sqlEscapeLike() contract, route throttling, CSRF/CSP web middleware, layout asset hooks, assignee lookup, conversation-number helper, and bulk save/event ordering remain compatible
  • Preserved all 2.8.0 authorization, privacy, wildcard, pagination, throttling, invalid-ID, and post-commit truthfulness protections
  • No database schema change and no new migration

2.8.0 hardening retained

  • Matched the prior FreeScout 1.8.232 assigned-only search authorization exactly (conversations.user_id = current user)
  • Prevented % and _ from acting as implicit SQL wildcards in user search text
  • Added maximum query-length and deep-page bounds
  • Added authenticated throttling to the search workspace, suggestions, custom-field metadata, recent metadata, and bulk mutation endpoints
  • Made bulk assignment/status/note outcomes truthful when persistence succeeds but a later hook/event fails
  • Added developer diagnostics for post-save bulk side-effect failures without logging exception messages, SQL, bindings, customer text, or message content
  • Scoped recent-search localStorage to the authenticated user and removed the old browser-global history keys
  • Preserved PostgreSQL-safe numeric normalization and the existing invalid/undefined ID defenses
  • Streamlined the public release package while preserving all runtime files and user-facing documentation
  • No new database migration; the existing optional (mailbox_id, updated_at) index migration is unchanged

Compatibility

  • FreeScout 1.8.233 target baseline (9492779dfc83fde23073f7faa7d0d44700581f15)
  • PHP 7.1-compatible syntax
  • Laravel 5.5-compatible APIs
  • Bootstrap 3 and jQuery
  • Custom Fields module optional

No FreeScout core files are modified.

Installation

  1. Download and extract the release archive.

  2. Upload the AdamSmartSearchUI folder to:

    Modules/AdamSmartSearchUI
    
  3. Activate the module under Manage → Modules.

  4. Clear caches if required:

    php artisan freescout:build
    php artisan freescout:module-build
    php artisan view:clear
    php artisan cache:clear
    php artisan config:clear

The module can also be updated from Manage → Modules when an update is available.

Support

License

AdamSmartSearchUI is released under the GNU Affero General Public License v3.0.

About

Enhanced unified search module for FreeScout.

Topics

Resources

Security policy

Stars

10 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages