Skip to content

Command relay verb re-fires every few seconds after a single Stream Deck press (delivery loop, layer unknown) #1416

Description

@amrmelsayed

Observed (2026-08-12, owner hardware session at #1404's dev-approval gate)

A single press of the merged Builder Action key (Automatic verb, e.g. open-plan) re-fires its effect in VS Code every few seconds, indefinitely. Surfaced during #1404 hardware testing; almost certainly pre-existing and previously masked — the old default view-diff re-fires as a benign editor refocus, while open-plan re-opening a document is loud.

What is already ruled out (static end-to-end trace, recorded in codev/reviews/1404-stream-deck-merge-fleet-slot-i.md and the pir-1404 thread log)

Every layer reads 'once' in code, yet the effect repeats: suspicion is a runtime reconnect / multi-window / delivery effect rather than any single call site.

Decisive next test (owner, ~1 minute)

With the repeat happening, quit the Stream Deck app entirely:

  • Firing continues → the loop lives in Tower/VS Code delivery (deck fully exonerated).
  • Firing stops → deck runtime (add a keyDown counter log next).

Also worth capturing while it repeats: whether multiple VS Code windows are open (the relay self-gates on focus per window), and Tower log for repeated POSTs vs one POST with repeated SSE deliveries — that distinguishes 'deck re-sends' from 'Tower re-delivers' from 'VS Code re-executes'.

Impact

Any relay verb is affected, not just deck presses (approve-gate is focus-modal-guarded but would re-surface the modal). Worth root-causing before more remote-driving surfaces land (#1401 rides a different, targeted channel, but shares the SSE transport).

Relation

Found during #1404 (merging ships regardless; the bug predates it). Not deck-code: the static trace above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/cross-cuttingTouches multiple areas — needs coordinated handling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions