diff --git a/CONTEXT.md b/CONTEXT.md index 26d27b3..40bd5ab 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -7,7 +7,7 @@ > > Ask Claude Code: "Please update CONTEXT.md with what we did today" -Last updated: 2026-02-14 (session 6) +Last updated: 2026-02-14 (session 7) --- @@ -22,20 +22,31 @@ Last updated: 2026-02-14 (session 6) ## Current project state ### felhom-controller (this repo) -- **Version:** v0.2.12 +- **Version:** v0.2.14 - **Phase 1:** ✅ COMPLETE — Stack Manager + Deploy Flow - **First app deployed:** Paperless-ngx on demo-felhom.eu (2026-02-13) - **Running on:** demo-felhom (N100 mini PC) at 192.168.0.162:8080 - **All Phase 1 features working:** deploy, start/stop/restart/update, logs, health-aware states, auth -### What was just completed (2026-02-14 session 6) +### What was just completed (2026-02-14 session 7) +- **Fixed YAML parse error in romm `.felhom.yml`** (app-catalog repo): + - Root cause: Hungarian opening quote `„` (U+201E) paired with ASCII `"` (0x22) inside YAML double-quoted strings terminated the string prematurely + - Affected lines: `help_text` for IGDB Client Secret and SteamGridDB API Key fields + - Fix: escaped inner ASCII double quotes with `\"` in the YAML strings + - This caused `LoadMetadata()` to silently fail and return empty defaults for ALL romm metadata (tagline, resources, category — everything) +- **Added error logging to `LoadMetadata()`** in `metadata.go`: + - `[ERROR]` log on YAML parse failure (was silently swallowed — critical bug) + - Temporary `[DEBUG]` log used for diagnosis, then removed +- **Fixed deploy command in CLAUDE.md**: + - `sed` pattern now targets only `image:` lines (was matching service name too, breaking YAML) + - Added `sudo` for both sed and docker compose (directory is root-owned) +- **Controller version:** v0.2.14 + +### Previously completed (2026-02-14 session 6) - **Bug fix: App info logo SVG rendering** — `.app-info-logo` CSS in `templates.go`: - Added `min-width`, `min-height`, `max-width`, `max-height: 80px` and `overflow: hidden` - Prevents SVG images with explicit dimensions or no viewBox from overflowing container - Logo now reliably renders at 80x80 regardless of SVG intrinsic size -- **Bug 2 (app info sections not rendering) was already resolved** — confirmed: - - Demo node `.felhom.yml` already has `app_info` and `optional_config` sections (synced from previous session) - - `docker-compose.yml` already has SCREENSCRAPER_USER, SCREENSCRAPER_PASSWORD, MOBYGAMES_API_KEY env vars - **Controller version:** v0.2.12 ### Previously completed (2026-02-14 session 5) @@ -225,4 +236,6 @@ Last updated: 2026-02-14 (session 6) - Mealie image (`ghcr.io/mealie-recipes/mealie`) doesn't include wget/curl — use Python TCP socket check for healthcheck - Mealie DB migrations on first start take ~40s (alembic) — use `start_period: 60s` to avoid premature unhealthy status - Alpine-based images (filebrowser, vaultwarden) have wget via BusyBox — healthchecks with `wget --spider` work fine -- Deploy `sed` command to update image version must target only the `image:` line — naive `sed 's|name:OLD|name:NEW|'` also matches the service name line (e.g., `felhom-controller:` → `felhom-controller:0.2.12`), breaking YAML. Use `sudo sed -i 's|image:.*felhom-controller:[^ ]*|image: ...felhom-controller:NEW|'` or similar scoped pattern \ No newline at end of file +- Deploy `sed` command to update image version must target only the `image:` line — naive `sed 's|name:OLD|name:NEW|'` also matches the service name line (e.g., `felhom-controller:` → `felhom-controller:0.2.12`), breaking YAML. Use `sudo sed -i 's|image:.*felhom-controller:[^ ]*|image: ...felhom-controller:NEW|'` or similar scoped pattern +- Hungarian quotation marks `„"` in YAML: `„` (U+201E) is safe inside YAML double-quoted strings, but the closing `"` must NOT be ASCII `"` (0x22) — it terminates the YAML string. Use `\"` escape or Unicode `"` (U+201D). This caused a silent parse failure for the entire `.felhom.yml` file +- Never silently swallow parse errors — always log them. Silent failures make debugging impossible (took a dedicated debug session to find a simple quoting issue) \ No newline at end of file