docs: document poster_cleanarr stale-duplicate cleanup (3rd cleaner), scan API, and UI pills/checkboxes
docs: rewrite wiki for readability — validated against source, restructured nav, instructional voice
docs(poster_cleanarr): document orphan-asset cleanup + pending-deletion ledger rename
- Modules: rewrite the poster_cleanarr section to cover both passes (bloat
+ orphan-asset) with a clear contrast against the Unmatched Assets module.
Update poster_renamerr's run_cleanarr -> clean_orphan_assets toggle.
- Configuration: add orphan_assets_* + asset_dirs to the example.
- Webhooks: rename 'orphaned-poster count' -> 'pending-deletion count' in
the /webhooks/cleanarr/{status,process} descriptions (URLs unchanged).
- Developer-API: pending-deletion queue terminology in /posters/stats and
/system/cleanup-candidates descriptions.
- Troubleshooting: split the 'poster_cleanarr does nothing' answer into
bloat vs. orphan-asset modes.
docs: sync with v1.4.1 product state
* Module coverage bumped from 12 to 13 — adds plex_maintenance
(split out of poster_cleanarr to run Plex-side housekeeping on
its own cron). Section added to Modules.md; Home, Credits,
Configuration, Troubleshooting updated to match.
* Fixes poster_cleanarr YAML: removes photo_transcoder,
empty_trash, clean_bundles, optimize_db — those fields live on
plex_maintenance now, not poster_cleanarr, and Pydantic was
silently dropping them from user configs following these docs.
Adds the real fields (local_db, use_existing_db).
* Fixes nestarr YAML: removes the fake dry_run field (not in
NestarrConfig; nestarr is report-only by design).
* Cancellation wording across Modules, Troubleshooting,
Developer-API, FAQ, Credits now reflects reality:
border_replacerr runs to completion (full exception);
plex_maintenance is partial — its PhotoTranscoder loop checks
the cancel flag, but the three Plex-API tasks (empty_trash,
clean_bundles, optimize_db) run to completion since Plex has
no interrupt.
* UI-Guide /poster/manage section now points at /poster/cleanarr
(its actual destination — the old path is a back-compat
redirect), describing the Plex bloat cleanup master-detail UI.
* Developer-API removes POST /api/media/import (endpoint was
dropped intentionally — adding media via CHUB wasn't wanted);
adds GET /api/media/{id}/poster proxy.
* dashboard-light.png captured from the rebranded UI.
Split wiki into User Guide and Developer Guide
- Rename API.md to Developer-API.md
- Add Developer-Guide.md with repo layout, local dev, writing a new
module, security internals, and contributing checklist
- Add _Sidebar.md splitting nav into User Guide and Developer Guide
- Trim engineering detail from end-user pages (Home, Configuration,
UI-Guide, FAQ, Troubleshooting, Webhooks) — replace jargon with
plain language and redirect users to UI flows where possible
Rewrite wiki pages to match actual code
- Module cancellation: 11 of 12 modules cooperatively cancel; only
border_replacerr does not (previously claimed 5 of 12).
- poster_cleanarr exposes six modes (report/move/remove/restore/
clear/nothing), not two.
- Fix API paths: media list is /api/media/search, edit is
/{media_id}/metadata; posters list is /api/posters/list; instances
use {instance_id} (not {type}/{name}); system.py router is at /api
prefix with only three routes keeping /system/*.
- Document --reset-auth CLI flag, correct PUID/PGID defaults (100/99),
login rate limiter (0.2/5), SSE token query-param fallback, webhook
debounce (5s via SHA-256 payload hash).
- UI-Guide: correct frontend routes (/media/statistics,
/poster/search/gdrive, etc.) per React Router config.