Repository navigation
Release: server 2.71.1 with D2 in Safari - #34
Merged
Merged
Conversation
…rver 2.71.1 The browser app moves to web-2.71.0-web.h61d3d46948495489, built from ZenNotes/zennotes ae288166 (main, carrying 3d6feedb from ZenNotes/zennotes#959). Server 2.71.0 pinned web-2.71.0-web.h851a4e72d0ad429c from 603fc6dc, and in Safari every ```d2 fence failed with "undefined is not an object (evaluating 'd2.compile')": D2's Go runtime overflows the smaller stack of a WebKit worker while it starts. The client now asks the worker for its version first and, when it cannot answer, runs the package's worker script on the page through new Function, which the existing Content-Security-Policy (script-src 'self' 'unsafe-eval') already allows, so no header changes. Chromium keeps the worker. Nothing else in the client moved since 603fc6dc besides the core, bridge and shared-domain version strings; the server's Go code is unchanged since 2.71.0 and no Go dependency moved, so vendorHash stays. release.json moves to 2.71.1, a server-only patch as 2.60.1 was; the desktop stays 2.71.0. Local: prepare-web verified the draft archive into a clean web/dist (582 files; the archive's SHA-256 matches its provenance and GitHub's digest). go vet, go test ./... and go test -tags=embed_web ./... pass. A server built like the release on a scratch vault with a scratch config reports v2.71.1, serves the app (200), answers 401 without the token and generates the 22-note tour. In a WKWebView, 05c D2 Diagrams draws all five diagrams in Preview with no diagram error, no CSP violation and no script error, and 05 Mermaid Diagrams draws its six; the released 2.71.0 server fails all five with the d2.compile error on the same page. Headless Chrome draws the same five through its module worker.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pins web-2.71.0-web.h61d3d46948495489 (built from ZenNotes/zennotes ae288166, desktop main with ZenNotes/zennotes#959; published as a pre-release) and sets release.json to 2.71.1, a server-only patch as 2.60.1 was. In 2.71.0, every d2 fence failed in Safari and every other WebKit browser ("undefined is not an object (evaluating 'd2.compile')"): D2's Go runtime overflows the smaller stack of a WebKit worker. The client now probes the worker and, when it cannot answer, runs the compiler on the page through
new Function, which the existing CSP (script-src 'self' 'unsafe-eval') allows. Chromium keeps the worker. No header, route, Go code or Go dependency changed, so vendorHash stays.Local: prepare-web (draft archive and published URL give the same tree, 582 files), go vet, go test ./..., go test -tags=embed_web ./..., and an embed_web binary on a scratch vault: v2.71.1, 200 for the app, 401 without the token, the 22-note tour generates. In a WKWebView, 05c D2 Diagrams draws 5/5 with no diagram error, CSP violation or script error, and 05 Mermaid Diagrams 6/6; the released 2.71.0 server draws 0/5 on the same page. Headless Chrome draws 5/5 through its worker.