docs(border_replacerr): expand custom-PNG guide with full slug table
Adds the full 13-holiday folder-slug table, exact PNG technical specs
(dimensions, transparent center coordinates, RGBA requirement),
naming convention for the borders: config list (with/without .png),
and a 5-step quick workflow for adding a custom border.
7cc8765
docs(border_replacerr): image-mode borders + 13-holiday bundled gallery
Documents the new themed-border feature shipped in chub ffcb652:
image mode that composites a decorative PNG per holiday, the 56-border
bundled set across 13 holidays, /config/borders/<holiday>/ override
path, and a YAML example showing color-mode and image-mode side by
side.
f60b58b
docs(home): rewrite AI-assist note in first person
8e28a16
docs(home): note AI-assisted authorship of wiki pages
68434ac
docs(webhooks): headline poster/add, demote manual triggers
Reorders the page around `/api/webhooks/poster/add` (the only
endpoint most users will wire up) and moves the cleanarr/unmatched
trigger endpoints into an "Additional HTTP triggers" appendix
clearly labelled as external-automation knobs. Updates the Tautulli
section to point at the new `?secret=` URL form rendered by Settings
→ Webhooks, and replaces the "Recent origins" mention with a
description of the in-UI Recent callers panel.
99710d8
docs: document poster_cleanarr overlays_only + upgradinatorr count_mode
022a692
docs: drop incremental_border_replacerr; clarify border_replacerr; document Border Replacerr preview page
- Modules.md: remove dead incremental_border_replacerr toggle from poster_renamerr example; clarify border_replacerr crops a fixed border_width regardless of color (TPDB white-border standard); rename Skip to Holiday-only mode.
- Configuration.md: surface skip and clarify border_width; convert holiday schedule to range(MM/DD-MM/DD) form.
- UI-Guide.md: document /poster/border-replacerr preview page (live composite gallery + holiday dropdown).
- Developer-API.md: document /api/plex/{instance}/libraries returning {title, type} and the new /api/border-replacerr/* endpoints.
0da0be0
Update Webhooks page for v1.5.x dedup/event/force-reupload model
* Persistent dedup cache: 600-second rolling TTL keyed on the media
identity hash, survives restart, coalesces Sonarr/Radarr retries.
* Accepted-events table: explicit allow-list (Download, *FileImported,
SeriesAdd, MovieAdded). Grab, Rename, *Delete, HealthIssue all 200-acked
but ignored.
* Season-aware import: Sonarr Download / EpisodeFileImported payloads with
episodes[*].seasonNumber narrow the rename pass to one season.
* Per-instance webhook_force_reupload flag — bypasses hash-skip on uploads
from that *arr instance.
* Plex availability retry knobs documented (defaults bumped to
30 + 10 × 30 = ~5.5 min) and called out as inbound, not outbound.
* Trigger-list guidance for Sonarr and Radarr split into per-instance
sections with the actual Sonarr/Radarr UI labels.
* Troubleshooting section gains "200 but nothing happens" sub-cases.
a716eda
docs(ui-guide): embed poster-cleanarr screenshot in its section
b09608d
docs: add media-search and poster-cleanarr screenshots
Home.md's final image ref was still pointing at images/poster-manage.png
from before Poster Manage was consolidated into Poster Cleanarr — fixed
to match the real file. UI-Guide.md was already correct.
bb6728d
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.
e835fa1
Restructure wiki for readability: split install, unify module docs, add Kometa guide
- Add Kometa-Integration page: end-to-end setup between Kometa's
asset_directory and CHUB's poster_renamerr (Docker mount alignment,
PUID/PGID gotchas, verification steps).
- Modules.md: each module now carries its full YAML block next to
the prose (was split across Modules and Configuration). Emoji
anchors for every module with a jump-to TOC at the top.
- Configuration.md: drop per-module YAML (moved to Modules). Keep
top-level blocks (general/auth/instances/schedule/notifications/
user_interface) plus a complete end-to-end example config.yml that
covers every module minimally — previous version was missing
several modules.
- Installation.md: focus on Docker Compose + single-run Docker as
the primary paths. Move Unraid and bare-metal to sibling pages.
- Installation-Unraid.md, Installation-Bare-Metal.md: new sibling
pages with platform-specific guidance (Unraid PUID/GID, systemd
unit for bare metal).
- First-Run.md: new page for post-install setup — admin user,
instance wiring, module enablement, schedule, smoke test, and
the password-reset flow.
- sync_gdrive: replace the inline service-account walkthrough with
a link to the DAPS rclone configuration guide (CHUB uses the same
rclone backend; DAPS's version has screenshots and covers both
service account and OAuth paths).
- Sidebar reorganised with the new pages grouped under Install.
0a098cb
Fix factual errors + add Google SA setup guide
- Nestarr: rewrite description — it's a detection/reporting module
that scans for ARR↔Plex mismatches and nested paths, it does NOT
move items. Config uses library_mappings, not mappings.
- Kometa mount: drop :ro from the Installation examples. Read/write
is required when poster_renamerr runs with action_type: move.
- Developer Guide: correct the AuthMiddleware exempt prefix list
(includes /api/version and static asset paths; webhooks aren't in
the list — they use verify_webhook_secret instead).
- Configuration → sync_gdrive: add full Google service account setup
steps (Cloud Console → IAM & Admin → Service Accounts → key JSON)
so users have an end-to-end path from zero to a working sync.
2e2a95a
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
474a4c7
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.
30216c5
Flag CHUB-era additions on each module
f90c92d