feat: complete daemon core milestone
Finish Milestone 3 with persisted config, socket IPC, registry CRUD, periodic discovery, manual add, and app-cache refresh support.
This commit is contained in:
+27
-23
@@ -7,14 +7,15 @@
|
||||
|
||||
## Current Focus
|
||||
|
||||
**Milestone 3 — Daemon Core**
|
||||
Roku adapter work is complete. Begin daemon runtime and persistence wiring.
|
||||
**Milestone 4 — CLI**
|
||||
Daemon core is complete. Continue broadening CLI coverage against the running daemon.
|
||||
|
||||
---
|
||||
|
||||
## In Progress
|
||||
|
||||
_Nothing in progress right now._
|
||||
- Milestone 4 is underway with working `daemon`, `device`, and app-cache commands over the Unix socket
|
||||
- Remaining CLI work is remote/state/dev/config coverage plus daemon install/uninstall helpers
|
||||
|
||||
---
|
||||
|
||||
@@ -47,35 +48,35 @@ _Goal: Can communicate with a real Roku TV over ECP._
|
||||
## Milestone 3 — Daemon Core
|
||||
_Goal: tvctld runs, manages devices, and handles the Unix socket._
|
||||
|
||||
- [ ] Daemon entry point and lifecycle (`src/daemon/mod.rs`)
|
||||
- [ ] Unix socket listener
|
||||
- [ ] Device registry (`src/daemon/registry.rs`)
|
||||
- Load from `devices.json` on start
|
||||
- Persist on change
|
||||
- CRUD operations
|
||||
- [ ] Discovery service (`src/daemon/discovery.rs`)
|
||||
- SSDP scan
|
||||
- Auto-discover on startup (if configured)
|
||||
- Interval-based re-scan
|
||||
- Manual add by IP
|
||||
- [ ] App cache manager (`src/daemon/cache.rs`)
|
||||
- Per-platform JSON files
|
||||
- Organic growth strategy
|
||||
- `app refresh` invalidation
|
||||
- [ ] State cache (`src/daemon/state.rs`)
|
||||
- [x] 2026-04-14 — Daemon entry point and lifecycle (`src/daemon/mod.rs`)
|
||||
- [x] 2026-04-14 — Unix socket listener
|
||||
- [x] 2026-04-14 — Device registry (`src/daemon/registry.rs`)
|
||||
- [x] Load from `devices.json` on start
|
||||
- [x] Persist on change
|
||||
- [x] CRUD operations
|
||||
- [x] 2026-04-14 — Discovery service (`src/daemon/discovery.rs`)
|
||||
- [x] SSDP scan
|
||||
- [x] Auto-discover on startup (if configured)
|
||||
- [x] Interval-based re-scan
|
||||
- [x] Manual add by IP
|
||||
- [x] 2026-04-14 — App cache manager (`src/daemon/cache.rs`)
|
||||
- [x] Per-platform JSON files
|
||||
- [x] Organic growth strategy
|
||||
- [x] `app refresh` invalidation
|
||||
- [x] 2026-04-14 — State cache (`src/daemon/state.rs`)
|
||||
- In-memory only
|
||||
- Per-device last-known state
|
||||
- Timestamp on every entry
|
||||
- [ ] Adapter registry (map platform string → adapter instance)
|
||||
- [ ] Config loading from TOML
|
||||
- [x] 2026-04-14 — Adapter registry (map platform string → adapter instance)
|
||||
- [x] 2026-04-14 — Config loading from TOML
|
||||
|
||||
---
|
||||
|
||||
## Milestone 4 — CLI
|
||||
_Goal: All tvctl commands work against a running daemon._
|
||||
|
||||
- [ ] CLI entry point and dispatch (`src/cli/mod.rs`)
|
||||
- [ ] Unix socket client (send commands, receive responses)
|
||||
- [x] 2026-04-14 — CLI entry point and dispatch (`src/cli/mod.rs`)
|
||||
- [x] 2026-04-14 — Unix socket client (send commands, receive responses)
|
||||
- [ ] `tvctl daemon` commands
|
||||
- `start` `stop` `restart` `status`
|
||||
- `install` (generate systemd user unit)
|
||||
@@ -158,6 +159,9 @@ out of scope until Milestone 6 is complete and stable.
|
||||
- [x] 2026-04-14 — Add Roku ECP discovery, input, app, and state adapter support with unit tests
|
||||
- [x] 2026-04-14 — Add env-gated live Roku integration tests and validate against the Hisense TV on the LAN
|
||||
- [x] 2026-04-14 — Implement Roku developer-mode install/log support and validate sideloading on the Hisense TV
|
||||
- [x] 2026-04-14 — Add daemon config loading, runtime paths, persisted registry/cache stores, and discovery foundations
|
||||
- [x] 2026-04-14 — Add daemon Unix socket IPC plus working `daemon` and `device` lifecycle/discovery commands
|
||||
- [x] 2026-04-14 — Finish Milestone 3 with registry CRUD, periodic discovery, manual add, and app-cache refresh plus live daemon validation
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user