feat(runner): prove the editor's two promises, and version dispatch end to end (DEV-2203) - #183
Closed
danielzytohoc wants to merge 2 commits into
Closed
Conversation
…nd to end (DEV-2203) editor-download.spec.ts: Download is the only way out of play/share with your edits, and no test ever opened a zip — now one does, client-side and deterministic (fflate both builds and reads it). The live half types into the real editor and watches the renamed header reach the rendered grid; error-recovery and theme specs only ever implied that path. version-pinning.spec.ts: the URL → pin → workspace path a DEV-2198 PR preview link will take. Deterministic: a semver deep link pins core and wrapper in lockstep; a bare pkg.pr.new id rewrites every Handsontable dependency to its tarball URL and posts the validated ref to the container session. Live: the newest -next build installs through the real bundler. pkg.pr.new refs are never hardcoded (builds expire; npm cannot vouch for them) — E2E_PKG_PR_NEW_REF boots one real container at a fresh ref when a DEV-2198 validation run wants it.
This was referenced Aug 14, 2026
…r-and-version-specs
Author
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.
Third in the DEV-2203 series. Stacked on #182 — retargets when the stack merges.
What
e2e/editor-download.spec.tspackage.json, and the slugged filename (react-vite-ts.zip). The zip is built client-side, so this needs no bundler and no API.E2E_LIVE: rename'Company name'→ the renamed header appears in the rendered grid. "Type a thing, see the thing" was only ever implied by the error-recovery and theme specs.e2e/version-pinning.spec.ts— the URL → pin → workspace path a DEV-2198 PR-preview link takes:?v=17.1.0pinshandsontableand@handsontable/react-wrapperin lockstep;?v=7940(bare pkg.pr.new id) rewrites both deps tohttps://pkg.pr.new/...@7940; the validated ref ("7940", not the raw param) reaches thePOST /api/sessionpayload.-nextbuild installs through the real bundler and renders.E2E_PKG_PR_NEW_REF=<build id>(opt-in): boots one real container at a fresh pkg.pr.new ref, for DEV-2198 validation days. Never hardcoded — builds expire per commit and/api/versions/existsonly vouches for npm.Verification
Deterministic: 4 passed locally. Live against prod: 6 passed, 12.5 s, zero containers (the pkg.pr.new container test skips without a ref).
Note
Low Risk
Test-only additions using existing E2E helpers and env gates; no production behavior changes.
Overview
Adds Playwright E2E coverage for editor download and
?v=version pinning—no app or API code changes.editor-download.spec.tsadds a PR-CI test that edits via CodeMirror dispatch, downloads the workspace zip, and asserts the unsaved marker, relative paths, and slugged filename. AnE2E_LIVEtest renames a column header and waits for that text in the Sandpack preview grid.version-pinning.spec.tswalks the URL → workspacepackage.jsonpath: semver pinshandsontableand@handsontable/react-wrappertogether; a bare pkg.pr.new id rewrites both to tarball URLs; for container examples the validated ref (not the raw query param) appears onPOST /api/session. Live/opt-in cases cover installing the published-nextbuild through Sandpack and booting a real container whenE2E_PKG_PR_NEW_REFis set.Reviewed by Cursor Bugbot for commit afed1d4. Bugbot is set up for automated code reviews on this repo. Configure here.