release: v0.0.57 — Use Local Directory shows wherever the server didn't serve the page #3

Merged
casey merged 4 commits from release/v0.0.57 into main 2026-10-14 15:11:03 +00:00
Member

Merge with a merge commit (not squash/rebase): the 7 v0.0.57 tags point at 1f844c03.

  • 3b4e42b7 fix: the server stamps <meta name="zddc-served"> into every page it serves; browse + archive show "Use Local Directory" unless it is there (was keyed on location.protocol, so it vanished on zddc.varasys.io/releases/).
  • 90ec368b beta cut, 1f844c03 release: v0.0.57 lockstep — gates: go 2931/0, playwright 2186/0 (19 skipped), 34 venue specs green.
  • docs: origin main protected — branch → PR → Casey merges.

After merge: ./deploy --releases, then push the 7 tags.

🤖 Generated with Claude Code

Merge with a **merge commit** (not squash/rebase): the 7 `v0.0.57` tags point at `1f844c03`. - `3b4e42b7` fix: the server stamps `<meta name="zddc-served">` into every page it serves; browse + archive show "Use Local Directory" unless it is there (was keyed on `location.protocol`, so it vanished on zddc.varasys.io/releases/). - `90ec368b` beta cut, `1f844c03` release: v0.0.57 lockstep — gates: go 2931/0, playwright 2186/0 (19 skipped), 34 venue specs green. - docs: origin `main` protected — branch → PR → Casey merges. After merge: `./deploy --releases`, then push the 7 tags. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Browse and archive hid their offline door ("Use Local Directory") whenever
location.protocol was http(s) — but the website's release downloads
(zddc.varasys.io/releases/<tool>.html) are the same file over https from a
plain static host, so the button vanished there too. The protocol cannot
tell a zddc-server from any other host, and a page cannot read its own
response headers.

So the server says it: every shell apps.ShellFor writes now carries
<meta name="zddc-served"> next to the reload guard. zddc.servedByServer()
is the one reader; absent = not served = the door shows (file://, any
static host). Old overrides without the split markers also carry the old
JS, so nothing reads the mark where it can't be.

- browse: applySourceUI runs at events.init too, so the welcome screen
  gets the decision without its own copy of the rule.
- Pins: tests/offline-door.spec.js (static host over http shows the door,
  both tools); the served-hidden pins (header-project-nav,
  remote-home-unreachable, browse-embed-doors) pass on the mark;
  TestShellFor_* known answers include it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Test gates (Q161): go 2931 tests passed, 0 failed, 21 packages ok; playwright 2186 passed, 0 failed, 0 flaky, 19 skipped; 34 venue specs green, no leftovers.
release: v0.0.57 lockstep
Some checks failed
Verify release + bump chart / verify-release (push) Successful in 2s
Verify release + bump chart / notify-chart-prod (push) Failing after 6m49s
1f844c03e6
Test gates (Q161): go 2931 tests passed, 0 failed, 21 packages ok; playwright 2186 passed, 0 failed, 0 flaky, 19 skipped; 34 venue specs green, no leftovers.
Casey added a protection rule on git.varasys.io main (2026-10-14): only
casey pushes or merges. The standing dev cut and the release recipe now
push a branch and open a PR; merges keep shas (merge commit or
fast-forward) so release tags stay on main; tags stay gated by the
standing prod rule.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
casey merged commit 9280f7e266 into main 2026-10-14 15:11:03 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
varasys/zddc!3
No description provided.