screentinker/server
ScreenTinker b29e3b4676 Judge the baselines against the PREVIOUS release, not the newest tag
Cutting 1.9.31 turned a green tree red, and the failing assertion named a
baseline rather than the tag that caused it.

"Shipped source" was resolved as the newest v* tag. That is wrong at exactly
one moment, and it is a moment that arrives at every release: on the release
commit the newest tag IS HEAD, so shipped source becomes the working tree,
every biconditional inverts, and the build demands BASELINE.web gain
audio.volume — for displays that cannot have the fix until this very release
reaches them. Tagging a release should not be able to change what the release
is allowed to contain.

A baseline describes an UN-UPDATED display, so the source it is judged against
is the release BEFORE the one being cut. Skip any tag pointing at HEAD and use
its predecessor: v1.9.30 here, and the newest tag as before during ordinary
development.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014skWYXJUWhF73EvNPgB2AS
2026-08-06 21:08:14 -05:00
..
config fix(logging): gate CF-Connecting-IP on a Cloudflare peer, not any trusted proxy 2026-07-26 10:23:04 -05:00
db #240: stop the morning wave buying itself a blocking checkpoint 2026-08-06 20:22:21 -05:00
lib Keep display.power on the Android baseline 2026-08-06 18:10:52 -05:00
middleware Merge branch 'fix/recovery-grants' into release/auth-campaign 2026-07-26 16:22:59 -05:00
player Merge 1.9.30: fail loudly on a missing asset; stop an empty playlist wiping the cache 2026-08-06 17:45:34 -05:00
routes #240: stop the morning wave buying itself a blocking checkpoint 2026-08-06 20:22:21 -05:00
scripts fix(content+android): rotation-aware media — portrait upright on dashboard AND player (#170) (#172) 2026-07-12 22:05:11 -05:00
services #240: stop the morning wave buying itself a blocking checkpoint 2026-08-06 20:22:21 -05:00
test Judge the baselines against the PREVIOUS release, not the newest tag 2026-08-06 21:08:14 -05:00
ws QA: close four ways a control or an asset lied about itself 2026-08-06 16:12:29 -05:00
.gitignore feat(email): Microsoft Graph send + alert spam protection + preferences UI 2026-05-12 18:16:40 -05:00
config.js #240: stop the morning wave buying itself a blocking checkpoint 2026-08-06 20:22:21 -05:00
package-lock.json chore(release): v1.9.30 2026-08-06 16:39:48 -05:00
package.json chore(release): v1.9.30 2026-08-06 16:39:48 -05:00
server.js Merge 1.9.30: fail loudly on a missing asset; stop an empty playlist wiping the cache 2026-08-06 17:45:34 -05:00
smoke-ui.js Keep the smoke test out of npm test, and update the lockfile 2026-07-28 20:34:34 -05:00
version.js chore(version): single-source VERSION, env-configurable data paths, bump tooling 2026-06-10 12:56:03 -05:00