diff --git a/documentation/TODO__Agents.md b/documentation/TODO__Agents.md index f749708f..d3b3f600 100644 --- a/documentation/TODO__Agents.md +++ b/documentation/TODO__Agents.md @@ -74,6 +74,18 @@ guessing defaults. (`aether_app_native_electron`), append a timestamp or random suffix to the temp filename on every download so macOS always sees a new path (e.g. `wallpaper_1748123456.jpg` instead of `wallpaper.jpg`). +- [ ] **[Launcher/Electron] Wallpaper drift after display hotplug (post-CMSC)** — + In live setups, wallpaper can randomly reset when projectors/displays are unplugged or + reattached. Add a resilient strategy that avoids unnecessary churn when wallpaper is already + correct. + **Options to evaluate:** + - periodic reconciliation loop with backoff/jitter and a cheap "is wallpaper already correct?" + check before applying + - event-driven reapply when display topology changes (new display detected), leveraging the + updated Electron display library + - hybrid: event-driven first, periodic safety check as fallback + **Goal:** keep podium/projector wallpaper stable without repeatedly setting wallpaper when no + change is needed. - [ ] **[Launcher/Electron] `run_cmd`/`run_cmd_sync` — phantom `return_stdout` param (low priority)** — `electron_relay.ts` passes `return_stdout` in the args object, but both IPC handlers ignore it (stdout is always returned). Effectively a no-op, but creates a misleading API contract. Fix: