Companion Buttons 1.0.0: any Companion button from any page, live on a ProdDash tile

A ProdDash module for status buttons and what's happening: pick buttons from
any Companion page in the tile's own picker; each is shown exactly as
Companion draws it and redraws live. One tile can hold one button or many.

- One read-only connection to Companion's tRPC websocket (pages.watch and
  preview.graphics.controlId), shared by every dashboard; identical redraws
  are not re-sent.
- A tile follows its button by id, and by page/row/column when the id is
  gone (a re-imported page), saving back what it resolved to.
- One SSE stream per tile, within ProdDash's 32-streams-per-page limit.
- Red dot and a faded "Companion offline" view when Companion is down;
  recovers by itself.
- Tests against a mock Companion: node test/companion.test.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 20:12:23 -04:00
co-authored by Claude Opus 5.5
commit 415453ef5f
9 changed files with 2085 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
.DS_Store
node_modules/