Skip to content

/ui/led-ring-mirror card drift after kid/smart toggle #30

Closed

Description

@BrettKinny

(observed 2026-04-28; scope tightened 2026-04-29)

The toggle-button leg of this drift was diagnosed and fixed in dotty-stackchan 3646e93 (dashboard: read kid_mode fresh + add 10s poll to toggle cards) — kid_mode getter was a closure over a stale module-level KID_MODE global, and neither toggle card had a time-based refresh trigger.

This issue now tracks only the separate LED-ring-mirror card at /ui/led-ring-mirror, which reads from _perception_state (SSE-cached) and can still disagree with the physical pixels at 8 (kid) / 9 (smart) after a toggle.

Reproduce + capture which leg lags

  • (a) Flip via dashboard — does the physical pip update within ~1 s? Does the mirror dot update?
  • (b) Flip via voice — same two checks.
  • (c) Flip via /admin/kid-mode curl — same.

Suspects to triage

Post-2026-04-29 hot-load, the dashboard path no longer restarts the bridge, so the "mirror polls a dead bridge" hypothesis is out. Remaining suspects:

  • SSE dotty-refresh events may not fire on toggle-source paths.
  • Firmware state-file read on boot vs. live MCP push race.

Once captured, fix is likely small (single missing event emission or missing live-state push); the value here is precise repro before guessing.


Migrated from local tasks.md on 2026-05-17.

Activity

  1. added
    status:activeReady to start, not blocked
    area:bridgebridge.py + bridge/ dashboard service (Unraid-resident post-#36)
    area:dashboardBridge dashboard UI / HTMX templates
    on May 16, 2026
  2. BrettKinny commented on May 23, 2026

    @BrettKinny
    OwnerAuthor

    Closed 2026-05-24 as superseded by PR #117 (Tile 1 of #115). The LED-ring-mirror card reads from the same _perception_state source as the toggle pips; post-#117 both read live from dotty-behaviour via the new /api/perception/state endpoint, so they CAN'T drift relative to each other. The toggle-button leg fix (3646e93) already shipped. Reopen if drift recurs against the actual device LEDs (different problem).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:bridgebridge.py + bridge/ dashboard service (Unraid-resident post-#36)area:dashboardBridge dashboard UI / HTMX templatesstatus:activeReady to start, not blocked

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions