[Website] Preserve Blueprint recovery through GitHub authentication - #4129
Merged
Conversation
adamziel
force-pushed
the
preserve-blueprint-recovery-github-auth
branch
from
July 21, 2026 00:23
cc2898f to
8ff4043
Compare
adamziel
marked this pull request as ready for review
July 21, 2026 00:38
An unfinished Blueprint run may stop because a private repository needs credentials. The authentication modal temporarily owns the UI, but without recording the boot failure first, dismissing it leaves the dead loader behind. Record that failure before opening the authentication prompt so the recovery dialog can take over afterward.
adamziel
force-pushed
the
preserve-blueprint-recovery-github-auth
branch
from
July 21, 2026 00:45
8ff4043 to
f6c963a
Compare
adamziel
added a commit
that referenced
this pull request
Jul 21, 2026
Part of #4099. Builds on #4129. Retrying an unfinished Blueprint run now replaces the failed Playground before autosave pruning begins. The retry keeps the original Playground as its return target, creates and activates the replacement, and then removes the failed run. Only after that succeeds does it prune old autosaves. If the failed run cannot be removed, pruning stops instead of deleting an unrelated Playground to make room. Autosave pruning already handles its own deletion failures, so the Blueprint editor no longer wraps it in a second `try/catch`. The editor also stops claiming that the failed run will remain in Recent after retry. ## Testing From a stored Playground, run a Blueprint with `preferredVersions.wp` set to `999.9`. Open the failed run in the Blueprint editor, change the version to `latest`, and run it again. Confirm the replacement opens, the original Playground remains, and the failed run is absent from Recent.
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.
An unfinished Blueprint run now records a site error before asking the user to authenticate with a private GitHub repository.
A Git authentication error normally opens only the authentication modal. That works for an ordinary Playground because authentication can resume the boot. An unfinished Blueprint run must also keep its failure state. Otherwise, dismissing the authentication modal exposes the dead loader with no error to recover from.
For these runs,
bootSiteClient()storessite-boot-failedbefore opening GitHub authentication. The authentication modal stays on top. After it closes, the site error modal is already waiting. Normal Playgrounds keep the old behavior.Part of #4099 which will replace the generic site error actions with explicit Blueprint recovery actions.
Testing
Run a stored Blueprint that references a private GitHub repository while signed out. Dismiss the authentication modal and confirm the site error modal appears instead of the loader.