What it fixes: MutationObserver in the bookmark JS was calling processAttachments() which mutated the DOM, retriggering the observer in an infinite loop -- causing Chrome to freeze for logged-in users. Fix disconnects the observer before processing and reconnects after.
What's new:
Bookmark attachments -- You can now bookmark any attachment across the forum. Little bookmark icon sits on every attachment in posts. Click it, done. All your bookmarked attachments show up in a personal gallery under your account so you can find them again without digging through old threads.
User aliases -- Once you've bookmarked something, you can give it your own name. Call it whatever makes sense to you. Search by alias from your gallery page. Handy if you've got dozens of saved images and can't remember which thread they came from.
Proper entity framework -- Rebuilt the internals properly. Six full XenForo entities now handle all the data instead of raw SQL. Repository layer for bookmarks and aliases. Everything goes through the framework the way it should.
ACP navigation sorted -- Attachment Integrity now sits under Tools with a paperclip icon. Dashboard and Search Attachments are both clickable links underneath. No more dead section headers.
Bulk delete actually works -- Search Attachments in the ACP lets you search by filename across everything, preview what it finds with dry run, then delete if you want to. Was broken before, now it isn't.
Rename attachments -- Admins can rename attachment display names and add aliases from the ACP search page.
Upgrade is straightforward -- upload and install through the admin panel as usual. New database tables for bookmarks and aliases get created automatically.
Let me know if anything plays up.
Quick update to sort out an issue affecting fresh installs.
## What's Fixed
v5.6.2 and earlier had a bug where several database columns were only created during the upgrade path, not on a clean install. If you installed the addon fresh (rather than upgrading from an older version), the scan tables would be missing columns and you'd get errors when running scans.
This affected three tables:
- Scan table was missing mode, priority, and remote-aware columns
- Repair queue was missing strategy, risk level, and verification columns
- Results table was missing state tracking columns
v5.6.3 fixes all of it. Every column is now properly defined in the initial table creation, so fresh installs and upgrades both work the same way.
## What's New (if you're coming from an older version)
### Search Attachments (added in v5.6.0)
Dedicated search page in the ACP. Search by filename, display name, aliases, extension, uploader, content type, file size, or date range. Filter for orphaned attachments. Paginated at 50 per page.
### Rename Attachments (added in v5.6.0)
Set a custom display name for any attachment from the search results. Original filename stays intact. Useful when uploads have auto-generated names.
### Aliases (added in v5.6.0)
Tag attachments with comma-separated alternative names. Fully searchable, so you can find files without remembering exact filenames.
### Bulk Rename (added in v5.6.0)
Match by filename pattern and apply a display name across all matches. Dry run on by default.
## Bug Fixes
- Fixed 18 missing columns across 3 tables on fresh installs
- Fixed upgrade path to properly handle all column additions for existing installs
- Consolidated all table column definitions into single methods to prevent this happening again
## Requirements
- XenForo 2.3+
- PHP 8.0+
## Installation
Upload the package via the ACP under Add-ons > Install/upgrade from archive.
What was fixed in v5.5.5:
- Root cause: The "Search and process" button in Bulk Actions did nothing because actionBulkDeleteByFilename() redirected back to actionIndex(), discarding all search results
- Fix: Bulk filename search now runs inline inside actionIndex() on POST - results render on the same page load without any redirect
- Template: Form uses ajax="false" for a clean full-page POST; result message shows below the button
Turns out the bulk action form wasn’t actually submitting correctly in certain situations, which is why nothing appeared to happen when pressing “Search and process”.
I’ve corrected it properly for v5.5.4 and reworked the form handling through XenForo’s normal framework flow rather than relying on the previous implementation.
What's fixed in v5.5.3:
- New "Bulk actions" section added to the ACP page with:
- Filename pattern search field (searches ALL attachments, not just scan results)
- Dry run checkbox (on by default) — previews what would be deleted
- Confirmation checkbox required for live deletion
- "Search and process" button
- Clarifying note added to the Results filter: "Filters below search scan results only. Run a scan first to populate this table. To search all attachments by filename, use the Bulk actions section."
What's new:
- Bulk delete attachments by filename pattern with dry-run preview before committing
- Background scans now start properly instead of silently completing with no results
- Stale scans stuck running for 2+ hours are automatically marked as failed
- Email alerts for critical issues now report the correct issue count
- Fixed file health check showing false "missing" results due to incorrect hash format
- All XML data files updated to XF 2.3 format for clean installs on any site
If you run into any issues let me know.
Attachment Integrity v5.5.0 Update
- Scheduled automatic integrity scans
- Email notifications for critical issues
- Attachment repair queue system
- Advanced thumbnail verification
- Storage usage analytics
- Duplicate attachment detection
- Attachment age reporting
- Per-user attachment statistics
- CLI scan and repair commands for large forums
- Improved repair automation (one-click repair, guided maintenance)
- Additional export formats (CSV, JSON, TSV, HTML)
- Storage benchmarking
- ACP dashboard widget
- Archived scan history
- Enhanced filtering and search (per-forum scans, severity filtering)
I’ve pushed another update that clears the compiled phrase row and refreshes the ACP nav phrase on upgrade
Done a fair bit of work on this update after some proper testing on larger forums and external storage setups.
Main fixes in this version:
- Fixed S3/R2 scans incorrectly flagging attachments as missing
- Files are now only marked missing if the addon can actually verify they’re gone
- Improved external storage handling and remote object checks
- Standard scans now use the storage adapter properly instead of local-only checks
- Fixed ACP navigation phrase issues
- Added proper hashes.json support for XenForo file health checks
- General cleanup and stability improvements across the scan system
Also spent time going through the package properly before uploading:
- XML validation
- PHP syntax checks
- ACP route/button checks
- permission checks
- hashes verification
- scalable/background scan checks
Appreciate everyone that’s been testing this and posting issues/feedback. It’s helped a lot with catching edge cases that you just don’t see on a basic local install.
We use essential cookies to make this site work, and optional cookies to enhance your experience.