Summary
- Parse retained firmware metadata and app-owned channel state from the site MQTT namespace.
- Add Codeberg generic package lookup, ESPHome manifest serving, checksum-validated binary proxying, and non-retained INSTALL apply endpoints.
- Add a Svelte 5 firmware Updates panel with channel selection, check/apply actions, device state, source SHA, and release summary.
Tests
- pnpm check
- pnpm test
- pnpm test:e2e e2e/dashboard.spec.ts
HGC-4
## Summary
- Parse retained firmware metadata and app-owned channel state from the site MQTT namespace.
- Add Codeberg generic package lookup, ESPHome manifest serving, checksum-validated binary proxying, and non-retained INSTALL apply endpoints.
- Add a Svelte 5 firmware Updates panel with channel selection, check/apply actions, device state, source SHA, and release summary.
## Tests
- pnpm check
- pnpm test
- pnpm test:e2e e2e/dashboard.spec.ts
HGC-4