From cfc5d237c7ab78b5be9d13a9d1fec534f0067ba4 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 20 May 2026 19:30:37 -0400 Subject: [PATCH] docs(todo): add launcher wallpaper drift hotplug follow-up Track projector/display unplug-replug wallpaper reset behavior and evaluate loop/check/event-driven strategies. --- documentation/TODO__Agents.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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: