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>
34 lines
988 B
JSON
34 lines
988 B
JSON
{
|
|
"id": "companion-buttons",
|
|
"name": "Companion Buttons",
|
|
"version": "1.0.0",
|
|
"proddash": ">=1.10.0",
|
|
"description": "Any Companion button from any page, live as Companion draws it — for status and what's happening",
|
|
"permissions": [
|
|
{
|
|
"kind": "local-network",
|
|
"reason": "Reading button pictures from Companion on this network"
|
|
}
|
|
],
|
|
"client": "client.js",
|
|
"server": "server.js",
|
|
"style": "style.css",
|
|
"minSize": { "w": 1, "h": 1 },
|
|
"defaultSize": { "w": 3, "h": 3 },
|
|
"configSchema": {
|
|
"companion": {
|
|
"type": "endpoint",
|
|
"label": "Companion",
|
|
"default": { "host": "", "port": 8000 },
|
|
"help": "The machine running Bitfocus Companion and its web interface port (8000 unless changed in Companion's settings). 127.0.0.1 when Companion runs on this machine. Companion 4 or newer."
|
|
}
|
|
},
|
|
"instanceSchema": {
|
|
"captions": {
|
|
"type": "switch",
|
|
"label": "Captions",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|