Band Lineup Display snapshot catches up: 1.3.6 → 1.3.10 #19

Merged
christian merged 1 commits from claude/band-lineup-display-1-3-10 into main 2026-09-24 11:25:07 -04:00
Collaborator

The reference fork had drifted four builds behind the app actually running backstage. What it was missing is Birthday Mode — the feature the band-lineup module was ported with, and which this snapshot never had.

  • main.js grows the Planning Center birthday fetch (pcoFetchBirthday), mm-dd normalising, and a pco-test-birthdays IPC handler behind the settings pane's Test Birthdays button. The birthdate is kept as MM-DD only — the year is discarded on purpose, so a volunteer's age never lands on the backstage machine. The sync fetches one birthday per unique person, best-effort: a token without People access just yields '' and never fails the sync.
  • renderer.js gains the celebration itself: the Wednesday→Tuesday birthday week (cached, and re-rendered when it rolls over, so an app left running for days lights up on its own), the canvas confetti loop, the gold glow, and the controls — on/off, intensity, and a force-on picker for testing that lives in memory and clears on restart.
  • index.html / styles.css carry the Birthday Mode block in the PCO settings pane.

Purely additive: 597 lines in, four out, and those four are the version and build number.

What was deliberately not synced

  • .claude/settings.local.json — the local copy is one machine's accumulated permission entries (paths under /Users/Studio/), not app source.
  • .claude/launch.json — exists only here in the repo; a wholesale copy would have deleted it.
  • A stray Spanish-strings test file sitting beside the app, which is not part of it.

Everything else already matched: propresenter-core/, propresenter-app/, README.md, and the mocks in tmp/ are untouched and identical.

Verification

The three JavaScript files parse (checked with JavaScriptCore — the machine this was prepared on has no Node, so the app itself was not run). The snapshot is byte-identical to the backstage app: every file was diffed against it after landing.

Reviewing the wider drift while here: modules/band-lineup on main is already current at 1.11.0, with client.js, server.js, matching.js, matching.test.js and style.css byte-identical to the working copies, tools/pco-band-mock.js in place and the README documenting it. The display snapshot was the only gap.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

The reference fork had drifted four builds behind the app actually running backstage. What it was missing is Birthday Mode — the feature the `band-lineup` module was ported with, and which this snapshot never had. - **main.js** grows the Planning Center birthday fetch (`pcoFetchBirthday`), mm-dd normalising, and a `pco-test-birthdays` IPC handler behind the settings pane's Test Birthdays button. The birthdate is kept as `MM-DD` only — the year is discarded on purpose, so a volunteer's age never lands on the backstage machine. The sync fetches one birthday per unique person, best-effort: a token without People access just yields `''` and never fails the sync. - **renderer.js** gains the celebration itself: the Wednesday→Tuesday birthday week (cached, and re-rendered when it rolls over, so an app left running for days lights up on its own), the canvas confetti loop, the gold glow, and the controls — on/off, intensity, and a force-on picker for testing that lives in memory and clears on restart. - **index.html / styles.css** carry the Birthday Mode block in the PCO settings pane. Purely additive: **597 lines in, four out**, and those four are the version and build number. ### What was deliberately not synced - `.claude/settings.local.json` — the local copy is one machine's accumulated permission entries (paths under `/Users/Studio/`), not app source. - `.claude/launch.json` — exists only here in the repo; a wholesale copy would have deleted it. - A stray Spanish-strings test file sitting beside the app, which is not part of it. Everything else already matched: `propresenter-core/`, `propresenter-app/`, `README.md`, and the mocks in `tmp/` are untouched and identical. ### Verification The three JavaScript files parse (checked with JavaScriptCore — the machine this was prepared on has no Node, so the app itself was not run). The snapshot is byte-identical to the backstage app: every file was diffed against it after landing. Reviewing the wider drift while here: `modules/band-lineup` on `main` is already current at 1.11.0, with `client.js`, `server.js`, `matching.js`, `matching.test.js` and `style.css` byte-identical to the working copies, `tools/pco-band-mock.js` in place and the README documenting it. The display snapshot was the only gap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
christian added 1 commit 2026-09-23 18:11:59 -04:00
The reference fork had drifted four builds behind the app actually running
backstage. What it was missing is Birthday Mode, the feature the ProdDash
module was ported with and this snapshot never had:

- main.js grows the Planning Center birthday fetch (`pcoFetchBirthday`),
  mm-dd normalising, and a `pco-test-birthdays` IPC handler behind the
  settings pane's Test Birthdays button.
- renderer.js gains the whole celebration: the Wednesday→Tuesday birthday
  week, the canvas confetti loop, the gold glow, and the controls that switch
  it on and set its intensity.
- index.html and styles.css carry the Birthday Mode block in settings.

Purely additive — 597 lines in, four out, and those four are the version and
build number. Source only, as the fork has always been: `.claude/` settings
stay as they are (the local copy's are one machine's accumulated permissions,
and it has no launch.json to give), and the stray test file beside them is not
part of the app.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
christian merged commit 408dea7923 into main 2026-09-24 11:25:07 -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#19