Landing: Pharos engraving hero; snapshot revert hardening#9
Merged
Conversation
The 'unicode filenames modification and restore' test failed CI on push 43b5e18 with ENOENT after revert: every file in the sandbox was deleted. That happens when the 'git add' inside track() fails transiently and .nothrow() swallows it — write-tree then snapshots an empty index, and revert() against that tree treats every file as 'not in snapshot' and unlinks it. - stage via a shared stageAll() that retries once on failure and reports it; track() returns no snapshot instead of a wrong one when staging or write-tree fails - revert() no longer deletes a file when the ls-tree verification itself errors; deletion now requires a successful ls-tree that confirms the file was absent from the snapshot
The Lighthouse of Alexandria plate becomes the hero backdrop — the beam sweeps from the tower down to the small ship steering by its light at bottom-left. The wordmark moves to the top-left over the dark sky and the headline block to the bottom-right, so both sit on quiet areas of the plate. A light uniform scrim plus two corner shields keep the type crisp while the beam and the ship stay in view; the plate is monochrome warm sepia already, so it ships unfiltered. Replaces the constellation canvas. og.png and its meta tags go — the twitter card drops to summary.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4326434 to
90e2a1d
Compare
cbed759 to
b9e5e7b
Compare
The per-file 'ls-tree <hash> -- <pathspec>' check behaved differently across platforms for unusual filenames, so revert either kept files it should delete or vice versa depending on OS. List the snapshot tree once per patch with core.quotepath=false (the same mechanism patch() uses) and check membership in code: deterministic on every platform, one git call per snapshot instead of per file, and still fails safe — if the listing errors, files are kept rather than deleted on an unverified miss.
90e2a1d to
ea99cfb
Compare
16aee38 to
9ed3792
Compare
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.
Landing (openscience.sh)
The Lighthouse of Alexandria engraving becomes the hero backdrop — the beam sweeps from the tower down to the small ship steering by its light at bottom-left.
public/og.pngand itsog:image/twitter:imagemeta tags (twitter card falls back tosummary).Verified:
bun run buildclean; rendered at 1440×900 via vite preview.Snapshot: revert must never delete on unverified state
The required Test check flaked on
main('unicode filenames modification and restore', ENOENT after revert — every sandbox file deleted). Root cause chain:track()swallowed a transientgit addfailure via.nothrow();write-treethen snapshots an empty index, andrevert()deletes every file as 'not in snapshot'. Fixed with a sharedstageAll()that retries once and reports failure —track()returns no snapshot instead of a wrong one.revert()verified deletions with a per-filels-tree <hash> -- <pathspec>whose behavior differs across platforms for unusual filenames. Replaced with onels-tree -r --name-onlylisting per snapshot (quotepath=false, same mechanismpatch()uses) checked in code — deterministic everywhere, fewer git calls, and fail-safe: if the listing errors, files are kept rather than deleted (a transient git error during revert could previously delete user files).Verified: full backend/cli suite passes locally (818 tests); snapshot file 41/41;
turbo typecheckclean.