ProPresenter 1.2.0: the live pill shows the audience look #56

Merged
michael merged 1 commits from claude/propresenter-now-audience-look-028ef8 into main 2026-10-27 13:12:19 -04:00
Owner

The Now / Next and Now tiles' header pill now shows the name of the Audience Look live in ProPresenter where it used to say "Live".

What changed (modules/propresenter-now-next, 1.1.1 → 1.2.0)

  • Server reads /v1/look/current once a second and the saved list (/v1/looks) every tenth poll, with the feed's own endpoint and password. The look rides along as a new, additive top-level look: { name, modified } | null field in the module's /state snapshot and SSE state frame; pco-plan reads this stream and ignores the extra field. The same name rules as the ProPresenter Look module: the saved look at the live index, "Custom look" when the index is past the end, the live name when the list is unavailable.
  • A single slow or failed look read keeps the last name; the look clears only after three failures in a row. The look poller never touches the feed's reachable / lastError, so a real outage still shows as "Reconnecting…".
  • Client: the live branch of the pill shows the look name (is-look; is-modified in italics with an "Audience look (modified)" tooltip) and falls back to plain "Live" when ProPresenter reports no look. The trouble states are unchanged.
  • Gear: the "Live status" switch is relabelled "Audience look"; the showLive key is kept so saved booth layouts keep working.
  • README wording for the switch updated. propresenter-core/ stays byte-identical to the reference fork.

Verified

  • Dev shell from this branch against a combined mock (slides from band-lineup-display/tmp/pp-mock.js, looks from modules/propresenter-looks/tools/pp-looks-mock.js): both tiles show the look, follow every change including the modified one, fall back to "Live" against a mock with no look routes, and the admin remount restarts the poller cleanly.
  • In-process harness runs: timer lifecycle (init/stop/init leaves one poller, stop() during an in-flight read leaves no timer), feed independence under look 500s and timeouts, the 404 back-off on /v1/looks (3 requests in 22 s), name-resolution edge cases, stream dedupe and first-frame behaviour.
  • Not yet run against a real ProPresenter: the look poll adds about one request per second on top of the feed's polling, worth watching on a booth machine before a Sunday.

🤖 Generated with Claude Code

The Now / Next and Now tiles' header pill now shows the name of the Audience Look live in ProPresenter where it used to say "Live". ## What changed (`modules/propresenter-now-next`, 1.1.1 → 1.2.0) - **Server** reads `/v1/look/current` once a second and the saved list (`/v1/looks`) every tenth poll, with the feed's own endpoint and password. The look rides along as a new, additive top-level `look: { name, modified } | null` field in the module's `/state` snapshot and SSE `state` frame; pco-plan reads this stream and ignores the extra field. The same name rules as the ProPresenter Look module: the saved look at the live index, "Custom look" when the index is past the end, the live name when the list is unavailable. - A single slow or failed look read keeps the last name; the look clears only after three failures in a row. The look poller never touches the feed's `reachable` / `lastError`, so a real outage still shows as "Reconnecting…". - **Client**: the live branch of the pill shows the look name (`is-look`; `is-modified` in italics with an "Audience look (modified)" tooltip) and falls back to plain "Live" when ProPresenter reports no look. The trouble states are unchanged. - **Gear**: the "Live status" switch is relabelled "Audience look"; the `showLive` key is kept so saved booth layouts keep working. - README wording for the switch updated. `propresenter-core/` stays byte-identical to the reference fork. ## Verified - Dev shell from this branch against a combined mock (slides from `band-lineup-display/tmp/pp-mock.js`, looks from `modules/propresenter-looks/tools/pp-looks-mock.js`): both tiles show the look, follow every change including the modified one, fall back to "Live" against a mock with no look routes, and the admin remount restarts the poller cleanly. - In-process harness runs: timer lifecycle (init/stop/init leaves one poller, stop() during an in-flight read leaves no timer), feed independence under look 500s and timeouts, the 404 back-off on `/v1/looks` (3 requests in 22 s), name-resolution edge cases, stream dedupe and first-frame behaviour. - Not yet run against a real ProPresenter: the look poll adds about one request per second on top of the feed's polling, worth watching on a booth machine before a Sunday. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
michael added 1 commit 2026-10-27 13:09:41 -04:00
The Now / Next and Now tiles' header pill now carries the name of the
Audience Look live in ProPresenter where it used to say "Live". The
module reads /v1/look/current once a second (and the saved list every
tenth poll) with the feed's own endpoint and password, and sends the
look as an additive `look` field in its stream and snapshot. A single
slow or failed read keeps the last name; the feed's own reachable state
is never touched. With no look to show the pill falls back to "Live".
The gear switch is relabelled "Audience look" (same key, so saved
layouts keep working).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
michael merged commit f800c1867e into main 2026-10-27 13:12:19 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: michael/ProdDash#56