A failed plan park degrades to vanilla instead of hanging the boot - #136
Merged
Conversation
…g the boot Follow-up to an owner report (overlay stuck on "Loading TSPML…"). Reproducing their exact four-mod set against production boots clean (frame mounts, game alive, 3decspeed 1/1 applied via the numeric-enum fix, husplits honestly token-not-found), so the hang was client state — but the investigation found the launcher could be bricked by its own diagnostics: the park chain had no rejection handler, and planReady gates the iframe mount, so ANY throw while parking (a corrupted stored record, a Cache API failure) left the overlay spinning forever with nothing in the log. Two changes, one philosophy — the same degrade the route already applies to a bad plan: - the boot park step catches: mount the game vanilla, log the failure loudly, set planReady. - buildUserPatchPlan and the page's PML-mixin persist merge read non-array mixins/pmlMixins fields as nothing (Array.isArray, not ?? []) — a hand-edited or mid-deploy record can no longer throw in the spread. Portal 734 -> 735 tests.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
What
Follow-up to an owner report (overlay stuck on "Loading TSPML…"). Reproducing their exact four-mod set against production boots clean — frame mounts, game alive, 3decspeed 1/1 applied via the numeric-enum fix, husplits honestly token-not-found — so the hang was client state. But the investigation found the launcher could be bricked by its own diagnostics:
planReadygates the iframe mount — so ANY throw while parking (a corrupted stored record, a Cache API failure mid-write) left the overlay spinning forever with nothing in the log.buildUserPatchPlanspreadmod.mixins ?? []/mod.pmlMixins ?? []— a truthy non-array (hand-edited localStorage, or a record written during one of today's mid-deploy windows) threw in the spread.The fix — the same degrade the route already applies to a bad plan
✗ parking the mod plans failed — mounting the game WITHOUT mod patches), setplanReady.Array.isArrayguards inbuildUserPatchPlanand the page's PML-mixin persist merge: a non-array field reads as nothing, which is the truth of it.Proof
Portal 735 tests (734 → 735, incl. the non-array record case);
tscclean; smoke typecheck clean after the last script edit.