From b11aee79c0e76b3caa72d048571b718af87e9cd8 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Thu, 5 Feb 2026 04:45:35 +0100 Subject: [PATCH] docs: Update tracking files for exposure and jellyfin features Co-Authored-By: Claude Opus 4.5 --- .claude/HISTORY.md | 26 ++++++++++++++++++++++++++ .claude/TODO.md | 10 +++++----- .claude/WIP.md | 20 ++++++++++++++++++++ 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/.claude/HISTORY.md b/.claude/HISTORY.md index 1eeea768..5c874011 100644 --- a/.claude/HISTORY.md +++ b/.claude/HISTORY.md @@ -185,3 +185,29 @@ _Last updated: 2026-02-05_ - Inverse of emancipate: removes exposure from selected channels. - Cleans up DNS records, HAProxy vhosts, certificates, mesh publishing. - Enhanced `status` command shows emancipated services with active channels. + +23. **Punk Exposure LuCI Dashboard (2026-02-05)** + - RPCD handler extended with three new methods: + - `emancipate` - orchestrates multi-channel exposure via CLI + - `revoke` - removes exposure from selected channels + - `get_emancipated` - returns list of emancipated services with channel status + - API wrapper (`exposure/api.js`) exports `emancipate()`, `revoke()`, `getEmancipated()`. + - ACL updated in `luci-app-exposure.json` for new methods. + - Dashboard UI enhancements: + - New Mesh column with toggle switch (blue theme) + - Emancipate button in header with rocket emoji + - Multi-channel modal with Tor/DNS/Mesh checkboxes + - Mesh badge count in header stats + - CSS additions: `.exp-badge-mesh`, `.mesh-slider`, `.exp-btn-action`. + +24. **Jellyfin Post-Install Setup Wizard (2026-02-05)** + - 4-step modal wizard for first-time Jellyfin configuration. + - RPCD methods added to `luci.jellyfin`: + - `get_wizard_status` - checks container state and wizard completion + - `set_wizard_complete` - marks wizard as finished in UCI + - `add_media_path` / `remove_media_path` - manage media library entries + - `get_media_paths` - returns configured media libraries + - Wizard auto-triggers when installed but `wizard_complete=0`. + - Steps: Welcome (Docker/container checks), Media (add paths), Network (domain/HAProxy), Complete. + - New CSS file `jellyfin/wizard.css` with step indicators and form styling. + - Makefile updated to install CSS resources. diff --git a/.claude/TODO.md b/.claude/TODO.md index 9db587fc..31a8292f 100644 --- a/.claude/TODO.md +++ b/.claude/TODO.md @@ -83,17 +83,17 @@ _Last updated: 2026-02-05_ - Budget cap: configurable monthly cloud spend limit via LiteLLM. - ANSSI CSPN: Data Classifier + Mistral EU + offline mode = triple sovereignty proof. -13. ~~**Punk Exposure Multi-Domain DNS**~~ — In Progress (2026-02-05) +13. ~~**Punk Exposure Multi-Domain DNS**~~ — DONE (2026-02-05) - ~~Multi-domain DNS with P2P exposure and Tor endpoints.~~ - ~~Classical HTTPS endpoint (DNS provider API: OVH, Gandi, Cloudflare).~~ - ~~Administrable DNS provider API integration via `dnsctl`.~~ - ~~Mapped to local services, mesh-federated, locally tweakable.~~ - ~~Follows Peek / Poke / Emancipate model (see `PUNK-EXPOSURE.md`).~~ - - Phase 1 DONE: `emancipate` and `revoke` CLI commands added to secubox-exposure. - - Phase 2-4: Dashboard enhancements pending. + - Phase 1: `emancipate` and `revoke` CLI commands added to secubox-exposure. + - Phase 2-4: RPCD methods, API wrapper, Mesh column, Emancipate modal, CSS styles. -14. **Jellyfin Post-Install** - - Complete startup wizard (media library configuration). +14. ~~**Jellyfin Post-Install**~~ — DONE (2026-02-05) + - ~~Complete startup wizard (media library configuration)~~ — 4-step modal wizard added. - ~~README documentation~~ — Done (2026-02-04). 15. ~~**Domoticz IoT Integration & SecuBox Peering**~~ — Done (2026-02-04) diff --git a/.claude/WIP.md b/.claude/WIP.md index 37065fb6..84075e0f 100644 --- a/.claude/WIP.md +++ b/.claude/WIP.md @@ -100,6 +100,26 @@ - Status command shows emancipated services. - TODO: Fix mesh integration (secubox-p2p uses different commands). +- **Punk Exposure LuCI Dashboard** + Status: DONE (2026-02-05) + Notes: Phases 2-4 of Punk Exposure. + - RPCD methods: `emancipate`, `revoke`, `get_emancipated` added to `luci.exposure`. + - API wrapper: `emancipate()`, `revoke()`, `getEmancipated()` exported. + - ACL updated with new methods. + - Dashboard: Mesh column with toggle, Emancipate button with multi-channel modal. + - CSS: Mesh badge (blue), mesh slider, action button styles. + +- **Jellyfin Post-Install Wizard** + Status: DONE (2026-02-05) + Notes: 4-step modal setup wizard for first-time Jellyfin configuration. + - RPCD methods: `get_wizard_status`, `set_wizard_complete`, `add_media_path`, `remove_media_path`, `get_media_paths`. + - Wizard auto-shows when Jellyfin is installed but wizard_complete=0. + - Step 1 (Welcome): Docker/container status checks, install/start buttons. + - Step 2 (Media): Add/remove media library paths with type presets. + - Step 3 (Network): Domain, HAProxy, ACME configuration. + - Step 4 (Complete): Success message with link to Jellyfin Web UI. + - CSS: `jellyfin/wizard.css` with step indicators, media list, form styles. + ## Next Up 1. Rebuild bonus feed with all 2026-02-04/05 changes (IPK files need rebuild).