Enhanced unified conversation search for FreeScout.
Version 2.8.2 · AdamCoffeeOverflow · AGPL-3.0
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.
- 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
- 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
- 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
- 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.
-
Download and extract the release archive.
-
Upload the
AdamSmartSearchUIfolder to:Modules/AdamSmartSearchUI -
Activate the module under Manage → Modules.
-
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.
- Website: adamcoffeeoverflow.com
- Releases: GitHub releases
- Issues: GitHub issues
AdamSmartSearchUI is released under the GNU Affero General Public License v3.0.
