Skip to content

History / Modules

Revisions

  • docs: document poster_cleanarr stale-duplicate cleanup (3rd cleaner), scan API, and UI pills/checkboxes

    @chodeus chodeus committed Jun 18, 2026
  • docs: rewrite wiki for readability — validated against source, restructured nav, instructional voice

    chodeus committed Jun 17, 2026
  • docs(asset_renamerr): media-level support matrix — season logos vs backgrounds

    @chodeus chodeus committed Jun 12, 2026
  • docs(asset_renamerr): spell out local naming convention + Plex/Kometa capability matrix

    chodeus committed Jun 11, 2026
  • docs: sync wiki with develop — remove unimplemented options, document real ones, add cl2k_maker - nohl: source_dirs mode is scan|resolve (was movie|series) - health_checkarr: drop report_only + Lidarr; describe actual removed-item scope - border_replacerr: drop skip (holiday-only) — never implemented; document border_workers - poster_renamerr: orphan_assets_mode belongs to poster_cleanarr - poster_cleanarr: drop unused sleep; document orphan_instances + orphan_ignore_titles - plex_maintenance: document new dry_run plus sleep/timeout - sync_gdrive verbose, asset_renamerr print_only_renames, unmatched_assets dict-form instances - new cl2k_maker section in Modules + Configuration - Developer-API: document /api/cache endpoints with new pagination - install docs: image PUID/PGID default 100:99, Python 3.9+, Node 24.16+ - dry_run note: unmatched_assets and nestarr are report-only (no flag)

    @chodeus chodeus committed Jun 10, 2026
  • docs(asset): drop project-key support; reword clear logos -> logos; fix stale TMDB mention

    @chodeus chodeus committed Jun 1, 2026
  • docs(asset): clarify fanart.tv needs only a personal key (no project key)

    @chodeus chodeus committed Jun 1, 2026
  • docs(asset): switch logos/backgrounds source from TMDB to fanart.tv Document the fanart.tv source for asset_renamerr (likes-ranked clear logos + backgrounds, personal key requirement, tmdb->fanart migration), the optional FANART_PROJECT_API_KEY env var, and a fanart.tv credit.

    @chodeus chodeus committed Jun 1, 2026
  • docs: document the strict Plex|Kometa apply_method across modules - poster_renamerr: add apply_method (kometa default), document the either/or behavior and that add_posters only applies on the plex path - asset_renamerr: rename direct -> plex (legacy direct still accepted), tmdb_language is now a list, add per-instance add_posters to the example - Kometa-Integration: clarify kometa vs plex are mutually exclusive; fix the now-incorrect "uploads after copying into destination_dir" note - Webhooks: the webhook pipeline's final step follows apply_method

    @chodeus chodeus committed May 31, 2026
  • docs: cover asset_renamerr + upload tuning + Needs Review/manual matching - Modules: new asset_renamerr section (clear logo / square art / background; local + TMDB sources; direct vs kometa apply matrix; chaining via run_asset_renamerr; idempotency). poster_renamerr config gains run_asset_renamerr + upload_delay_ms. Count 13 → 14. - Home: feature blurb + module count. - Kometa-Integration: logos/backgrounds via asset directory (Kometa reads logo/background; season naming; square art is direct-only). - Webhooks: season-aware "wait for Plex to scan" before applying season posters. - UI-Guide: /poster/unmatched Needs Review tabs — Choose a poster (immediate apply + lock), Approve, Ignore/Restore; Asset Renamerr settings page.

    chodeus committed May 31, 2026
  • docs(matching): clarify poster matching uses *arr API, not media folder names Add a 'How matching works' section to poster_renamerr in Modules.md and an FAQ entry explaining that match quality comes from *arr metadata + poster-set naming, not your media folder/file names (TRaSH scheme, Season 1 vs Season 01, {tvdb-}/{tmdb-} in folders all make no difference to matching).

    @chodeus chodeus committed May 30, 2026
  • docs: clarify source_dirs priority (bottom-of-list wins)

    chodeus committed May 23, 2026
  • docs: heartbeat helper, progress reporting, migration system UI-Guide: - /logs: describe the Hide Heartbeat toggle behaviour (now backed by the [hb] marker, not a frontend regex), per-line search semantics, per-character match highlighting, and the debug pill's accent colour distinguishing on/off. Modules: - unmatched_assets: clarify that Sonarr seasons use episodeFileCount (files on disk) for the has_content gate, not episodeCount (aired episodes); the per-season monitored flag now propagates correctly so ignore_unmonitored honours per-season decisions; Discord copy- to-clipboard links directly at the season page when exactly one season is missing. Developer-Guide / Writing a new module: - _report_progress() helper — when to wire it, how to allocate the 0..100 range across phases, link to poster_renamerr as reference. - logger.heartbeat() — what to use it for, how it interacts with the Hide Heartbeat toggle. - _apply_once() one-shot data migrations — naming convention, the schema_migrations gating table, atomic commit guarantee.

    @chodeus chodeus committed May 22, 2026
  • docs(modules,ui): expand unmatched_assets section + Statistics page - Modules.md: document the actual filtering pipeline (matched=0, status blocklist, has_content gate, ignore lists), explain where to act on the report (Statistics page) and the Discord copy-paste request button with TVDb fallback behaviour - UI-Guide.md: describe the three unmatched-asset tables now visible on /poster/statistics and the per-row Request button

    @chodeus chodeus committed May 22, 2026
  • 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.

    @chodeus chodeus committed May 13, 2026
  • docs: Border Replacerr settings split between Module Settings and the Border Replacerr page Mirrors the chub@59911cf refactor — Module Settings now holds only the non-visual knobs and the holiday name/schedule list; default colors, per-holiday colors, and the bundled/custom border picker live on the Border Replacerr page next to the live preview. - Adds a 'Where each setting lives in the UI' table at the top of the border_replacerr section explaining the split and the rationale (keep the basic 'strip the 26px white border' flow uncluttered). - Updates the custom-border workflow to mention the new thumbnail picker instead of telling users to edit the borders: list directly. (The YAML path still works — both routes write the same config field.)

    @chodeus chodeus committed May 12, 2026
  • 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.

    @chodeus chodeus committed May 12, 2026
  • 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.

    @chodeus chodeus committed May 12, 2026
  • docs: document poster_cleanarr overlays_only + upgradinatorr count_mode

    chodeus committed May 11, 2026
  • 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.

    @chodeus chodeus committed Apr 29, 2026
  • 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.

    @chodeus chodeus committed Apr 24, 2026
  • 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.

    @chodeus chodeus committed Apr 20, 2026
  • 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.

    @chodeus chodeus committed Apr 20, 2026
  • 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.

    @chodeus chodeus committed Apr 19, 2026
  • Flag CHUB-era additions on each module

    @chodeus chodeus committed Apr 18, 2026
  • Import wiki drafts

    @chodeus chodeus committed Apr 18, 2026