Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] Appdata Cleanup Plus

Featured Replies

  • Replies 93
  • Views 7.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • skywalker6705
    skywalker6705

    Like with your other project, Folderview Plus, this feels distinctly vibe coded on top of an existing app to "enhance" it. I have some serious reservations about using this given that you haven't dis

  • The old version was a much better no frills plugin....

  • Unraid-arr
    Unraid-arr

    Agree, 100%. I reached here because Fix Common Problems showed me the deprecated warning today. I see no reason to remove the old and install the new plugin. This plugin is trying to solve a problem t

Posted Images

  • Author
Appdata Cleanup Plus 2026.05.04.07 - Stability, Diagnostics, Safety Fixes

Appdata Cleanup Plus 2026.05.04.07 has been promoted to the stable main release channel.

This release focuses on the WebUI stall / PHP-FPM worker exhaustion reports, adds much better diagnostics, and improves safety around large scans and overlapping operations.

Stability / WebUI Stall Fixes - @MyKroFt @Soulplayer

- Added a global expensive-operation guard so only one filesystem-heavy scan, hydration, quarantine, diagnostics, or cleanup request can run at once.

- Overlapping requests now return a fast retry response instead of stacking PHP-FPM workers.

- Added guarded handling for safety-setting saves so settings writes cannot overlap with scan or quarantine rebuilds.

- Background row-stat hydration now pauses before user-triggered actions.

- Plugin-busy responses are retried where safe instead of showing false failures.

- Added a clear Backend busy UI state for HTTP 429 responses.

Diagnostics / Support Export

- Added backend-generated diagnostics to the Tools export.

- Diagnostics now include redacted plugin state files, safety settings, quarantine registry, ignore list, audit history, snapshot summaries, stats-cache counts, runtime context, runtime-lock state, latest scan metrics, and bounded support log excerpts.

- Added per-phase scan timing metrics for settings load, template glob, Docker state/query, template scan, filesystem discovery, candidate filtering, row build, and snapshot write.

- Latest scan metrics are persisted server-side so diagnostics can still include timing data if browser state misses it.

- Added runtime-lock diagnostics showing lock name, action, age, PID state, held state, and stale status.

Privacy / Redaction

- Diagnostics redact filesystem paths, share/app-specific path segments, syslog hostnames, IPs, emails, query tokens, UUIDs, MAC addresses, long hex tokens, nested audit row payloads, restored app names, and audit result paths.

- Diagnostics log matching was tightened so unrelated emhttpd, flash-backup, startup, and pool noise is excluded.

- Plugin, PHP-FPM, nginx, timeout, and error context is still included when relevant.

Safety / Scan Guardrails

- Added stale runtime-lock metadata recovery for old unheld lock files while leaving active flock-held operations untouched.

- Added a filesystem discovery size guard with bounded partial results.

- If direct appdata candidate discovery reaches the safety limit, the scan now returns partial results with a warning instead of trying to process too much at once.

Performance

- Audit history is now read from the tail of the audit log with a bounded default instead of loading the full audit file.

- Parent-candidate pruning was replaced with a path-prefix index to avoid O(n²) behavior on larger appdata layouts.

Testing Requested:

Please update to 2026.05.04.07, run a scan, and report whether the WebUI remains responsive.

If you hit a stall, timeout, unexpected scan result, or quarantine issue, please export diagnostics from:

Appdata Cleanup Plus -> Tools -> Download diagnostics

Attach or paste the generated appdata-cleanup-plus-diagnostics-*.json file with your report. Please still review the file before posting, even though the plugin now redacts sensitive paths, hostnames, IPs, emails, tokens, and app-specific names by default.

Appdata Cleanup Plus support summary

Version: 2026.05.04.07

Docker: running

Rows: detected=4 ready=4 review=0 locked=0 ignored=0

Selection: 0 selected

Safety: outside-share=off permanent-delete=off zfs-delete=off

Sources: roots=1 mappings=0

ZFS: backed=0 mapped-share=0

Quarantine: count=0 size=0 B

Scan roots:

- /mnt/user/appdata

I get quarantine failed and also export diagnostics failed.

Schermafbeelding 2026-05-05 141320.png

Schermafbeelding 2026-05-05 141346.png

  • Author
10 hours ago, Soulplayer said:

Appdata Cleanup Plus support summary

Version: 2026.05.04.07

Docker: running

Rows: detected=4 ready=4 review=0 locked=0 ignored=0

Selection: 0 selected

Safety: outside-share=off permanent-delete=off zfs-delete=off

Sources: roots=1 mappings=0

ZFS: backed=0 mapped-share=0

Quarantine: count=0 size=0 B

Scan roots:

- /mnt/user/appdata

I get quarantine failed and also export diagnostics failed.

Schermafbeelding 2026-05-05 141320.png

Schermafbeelding 2026-05-05 141346.png

Please try the latest dev build when you get a chance. I pushed a fix specifically for this failure path.

Install from Unraid terminal:

plugin install https://raw.githubusercontent.com/alexphillips-dev/Appdata-Cleanup-Plus/dev/plugins/appdata.cleanup.plus.plg

This dev build changes two things:

- Diagnostics export should now work even if a scan/quarantine operation is stuck or failing.

- If quarantine fails, it should now show the underlying filesystem move error instead of only saying “Quarantine failed”.

After installing, please try the same quarantine action again.

If it still fails, please go to:

Appdata Cleanup Plus -> Tools -> Download diagnosticsand attach the generated appdata-cleanup-plus-diagnostics-*.json file here.

Please also paste the exact quarantine error message shown in the pop-up.

Edited by XCrownedClownsX

I have the same problem. When I log in, I often see the message:

Backend busy

Appdata Cleanup Plus is already running a scan or cleanup operation. Wait a few seconds, then try again. Retry after about 5 seconds.

After a few minutes, a couple of page refreshes, the main window opens. But I can't quarantine items, or view what's in quarantine. It says:

Quarantine failed

Reviewing tracked quarantined folders.

The diagnostics wouldn't download. After installing the dev build, I was able to download it.


Appdata Cleanup Plus support summary

Version: 2026.05.05.03

Docker: running

Rows: detected=1 ready=1 review=0 locked=0 ignored=1

Selection: 0 selected

Safety: outside-share=off permanent-delete=off zfs-delete=off

Sources: roots=1 mappings=0

ZFS: backed=0 mapped-share=0

Quarantine: count=13 size=3.9 GB

Scan roots:

- /mnt/user/appdata

Notices:

- Ignore list active

appdata-cleanup-plus-diagnostics-20260513-035304.json

Edited by boozing

I also have these bugs, and needed to install the dev version. Also, my docker instance is completely broken now, all of my dockers became dissociated after quarantining some orphaned dockers folders.

edit: re-installing my dockers restored them after the crash. however, i'm back to" Quarantine failed Reviewing tracked quarantined folders." in the plugin even with the dev version

appdata-cleanup-plus-diagnostics-20260516-202248.json

Edited by zaphodbrx

  • Author
Appdata Cleanup Plus 2026.05.20.04 is now available on the stable/main channel.

Release notes:

- Diagnostics can now still be exported during failed or stuck operations, with a redacted plain-text copy fallback for forum troubleshooting.

- Quarantine failures now expose the underlying filesystem move error instead of a generic failure. @zaphodbrx

- Quarantine manager and dashboard summary loads no longer run scheduled purge side effects, reducing repeated Backend busy cases. @boozing

- Failed scheduled purge timers are paused and keep the failure reason instead of retrying on every refresh.

- Quarantine purge can now remove symlink entries inside already-quarantined folders without following them, while still blocking unsafe symlink, mount point, and special filesystem cases.

- Saved Docker template references are now locked by default before cleanup actions.

- Template-referenced appdata inside configured appdata roots is no longer mislabeled as outside-share review.

- Template-reference rows now show a Template reference badge.

- Cleanup actions are disabled if Docker appears to be running, but installed containers cannot be verified while saved templates exist.

- Added Allow saved-template cleanup, which bypasses only the saved-template policy lock while preserving outside-share, ZFS dataset delete, permanent-delete, hard-lock, ignored-row, and Docker inventory safeguards.

If you were seeing:

- Backend busy

- Quarantine failed

- Reviewing tracked quarantined folders

- template-referenced appdata showing as outside-share

- template rows staying locked unexpectedly

Please update to 2026.05.20.04, rescan, and test again.

If you still hit an issue, open Tools in the plugin and use either:

- Download diagnostics

- Copy diagnostics text

The diagnostics are redacted, but please still review them before posting.

I am really confused by this plugin. I just want to delete the jellyfin stuff that it's showing. the old one I just clicked the checkbox and deleted it. That's all I need to do, but I can't even find a delete button in this thing.

  • Author
15 minutes ago, garfnodie said:

I am really confused by this plugin. I just want to delete the jellyfin stuff that it's showing. the old one I just clicked the checkbox and deleted it. That's all I need to do, but I can't even find a delete button in this thing.

Designed to be safe so you don't accidentally delete anything you didn't mean to or things that are tied to containers.

In the upper right-hand corner, there are check boxes that allow you to just delete whatever folder you want with no quarantine.

I'll work on making it less complicated.

image.png

Im still learning and dont quite understand why this cant be removed?

The tooltip suggests I need to remove the template reference but if Im already doing that I could just as well do the cleanup manually?

Edited by Bluedevil678

Hi Team, Not sure if its just my system but based on the screenshots of others there seems to be something wrong with the background on mine, is there a setting that is meant to make this not hurt my eyes while using 😵‍💫

Ive tried in-private mode and normal to see if the cache is an issue and it still loads the same

image.png

Tried to quarantine a few orphans. It locked up the webui for 10 minutes. Said successful. Then it said backend busy. Then it said quarantine failed. Now it says the backend is busy all of the time. As I click around through these confusing dialogs it will say "Quarantine Failed" in the Tools dialog where the "Tools" header is.

I have no idea why I am being told by FCP to install this apparently AI-built plugin. I just want to undo whatever it did and go back to the old plugin. I would advise against installing this.

I am confused by getting several results that I can't delete which all say "Saved templates still reference this folder at /config. Remove or update the saved template before quarantining or deleting this appdata path." Does this just mean a saved docker template because I previously installed it? I don't get it, I need to go into the flashdrive and delete the docker template to delete the orphaned appdata?

On 5/25/2026 at 3:16 AM, Bluedevil678 said:

image.png

Im still learning and dont quite understand why this cant be removed?

The tooltip suggests I need to remove the template reference but if Im already doing that I could just as well do the cleanup manually?

Looks like this is the same thing I'm asking about. I don't really understand this either

Edited by neon_n0stalgia

  • 2 weeks later...
On 5/22/2026 at 4:21 PM, garfnodie said:

I am really confused by this plugin. I just want to delete the jellyfin stuff that it's showing. the old one I just clicked the checkbox and deleted it. That's all I need to do, but I can't even find a delete button in this thing.

This is onw of this cases when something simple has been lifted to the limits and now it is unusable.

Good luck trying to do anything:

Screenshot_20260611_214906_Firefox.jpg

  • 2 weeks later...
On 6/11/2026 at 4:52 PM, Joloxx9 said:

This is onw of this cases when something simple has been lifted to the limits and now it is unusable.

Good luck trying to do anything:

Screenshot_20260611_214906_Firefox.jpg

Yeah I have no idea how to use this plugin now and it seems like nobody does. Does anyone have any alternative?

  • 3 weeks later...

I also have the same issues, I found this. so far it seems to be working well.

Edited by stucol666
Hit wrong button

14 hours ago, stucol666 said:

I also have the same issues, I found this. so far it seems to be working well.

Just made the switch myself but haven't yet run NG; will look into doing so when time permits.

  • Author
Appdata Cleanup Plus Update - 2026.07.08.25
!! Important: Delete Function Fixed !!

The delete function now uses the old proven cleanup method again. It has been reverted away from the newer backend delete flow that was causing backend busy errors, internal server errors, and failed cleanup behavior for some users.

In short: deleting appdata folders should now just work again.

Apology and Current Direction

I apologize for the state of the plugin recently. Some of the functionality that should have been reliable was broken, and the UI/UX became more confusing than helpful.

I am actively working to fix both sides of that:

- restore reliable cleanup behavior first

- simplify the UI so the plugin is easier to understand

- remove confusing review/lock states where they are not needed

- make cleanup actions clearer, safer, and more predictable

This release is a major step in that direction.

image.png

What Changed
Critical Delete Fix

The biggest fix in this release is the cleanup/delete behavior.

The plugin now uses a simple shell-backed delete path modeled after the original Cleanup Appdata behavior. This replaces the newer backend-driven delete path that was causing problems for some users.

Fixed issues include:

- backend busy errors during cleanup

- internal server errors during delete/quarantine actions

- unreliable permanent delete behavior

- cleanup actions failing before completion

- confusing delete progress states

Permanent delete and quarantine actions should now behave much more reliably.

image.png

UI/UX Overhaul

The dashboard has been heavily redesigned to make the plugin easier to use.

The goal was to stop making users decode confusing states and instead make the workflow obvious:

1. scan for orphaned appdata

2. review the Ready to Clean list

3. select folders

4. quarantine or delete

The new UI includes:

- redesigned top summary cards

- cleaner plugin header

- simplified action bar

- Ready to Clean table layout

- folder icons next to appdata folder names

- size column for folders

- clearer last-used labels

- compact source badges

- sticky bottom action bar

- better modal styling

- improved theme-aware colors for Unraid themes

image.png

image.png

Simpler Cleanup Workflow

The old workflow had too many confusing review states and unlock steps. This release removes a lot of that friction.

Changed behavior:

- removed the normal Needs Review workflow

- removed the Blocked summary card

- removed saved-template cleanup gates from the normal flow

- removed outside-share cleanup gates from the normal flow

- removed redundant filtered/visible count panels

- removed unnecessary filter controls

- removed extra Safe Mode banner

- moved cleanup candidates into a clearer Ready to Clean list

The plugin should now feel much more straightforward: if a folder is found and can be cleaned, it appears in Ready to Clean.

Safe Mode Improvements

Safe Mode has been cleaned up visually and functionally.

Safe Mode still means selected folders are quarantined instead of permanently deleted. The card is now easier to read and less visually awkward.

Improvements include:

- fixed Safe Mode card alignment

- fixed Safe Mode card height

- added a clearer shield icon

- pinned the ON/OFF badge to the top right

- removed extra spacing and layout gaps

- made Safe Mode easier to understand at a glance

[Screenshot: Safe Mode card]

Better Badges and Table Layout

The source/status badges were redesigned to be smaller, cleaner, and easier to scan.

Changes include:

- removed badge glow effects

- reduced badge height and width

- restored distinct badge colors

- removed the redundant Ready badge from the Source column

- left-aligned source badges

- added folder icons beside appdata names

- added a Size column

- changed empty folders to show as Empty instead of Unknown

- expanded abbreviated age labels like 1 yr and 3 mo into full labels like 1 year ago and 3 months ago

[Screenshot: Updated badges]

[Screenshot: Folder name, size, and source columns]

Modal Improvements

Several popups were redesigned so they match the new UI and are easier to understand.

Updated modals include:

- Details

- Appdata Sources

- Show Quarantine

- History

- Tools

- Permanent Delete confirmation

- Delete progress

- Delete results

The Details popup is now much simpler and focuses on the information users actually need.

The Appdata Sources modal was also adjusted so the source browser does not make the dialog too tall or force awkward scrolling just to close it.

Permanent Delete Confirmation

Permanent delete no longer requires typing DELETE.

Instead, the confirmation now uses a checkbox with a clear warning that the action is permanent and cannot be undone.

Changes include:

- replaced typed confirmation with a checkbox

- clearer permanent delete warning

- disabled delete button until confirmation is checked

- fixed button alignment

- removed loading dots from the disabled delete button

- improved folder list display

Delete Progress and Results

The delete progress and results screens were cleaned up.

Improvements include:

- clearer delete progress state

- OK button disabled while deletion is running

- better completion screen

- clearer warning/error summaries

- easier-to-read failed path details

- results screen now matches the rest of the new UI

[Screenshot: Delete running]

[Screenshot: Delete complete]

[Screenshot: Delete finished with warnings]

Theme and Visual Cleanup

The dashboard was adjusted to better respect Unraid theme colors.

Changes include:

- removed unwanted gradients

- moved toward solid theme-token-based colors

- improved button text colors

- fixed buttons that were incorrectly orange

- made light/dark theme behavior more consistent

- cleaned up the header icon treatment

- improved card alignment and spacing

Safety Still Retained!

Even though the workflow has been simplified, important safety protections remain in place.

Still retained:

- server-side scan snapshots

- candidate ID based actions

- CSRF validation

- protected path checks

- restore collision checks

- quarantine tracking

- ZFS dataset-delete safeguards

Install / Update

Main release: plugin install https://raw.githubusercontent.com/alexphillips-dev/Appdata-Cleanup-Plus/main/plugins/appdata.cleanup.plus.plg

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.