Uh oh!
There was an error while loading. Please reload this page.
test(desktop): merge same-fixture e2e assertions into coherent journeys - #2489
Merged
Conversation
Part of #2390 (Electron E2E half; the Storybook matrix is a separate PR per the issue). Every e2e window fixture is function-scoped, so 69 tests paid 69 Electron launches — with most tests re-launching and re-seeding the exact state their file-mates had just built. Tests that share one fixture and compatible assertions now run as consecutive phases of one journey; every merge is annotated with the ordering constraint that made it safe (count pins run first, destructive phases run last, don't-ask-again phases end their window). Merged: ask-user-question 2->1, attachment 2->1, bot-onboarding 2->1, composer-mention-token 4->1, composer-skill-invocation 7->3, keyboard-help 2->1, mcp 5->2, new-messages-indicator 2->1 (also stops re-seeding the six-message transcript), providers 3->1, quote-companion 12->4, send-message 4->2, session-workbar 2->1, settings-projects 3->1, settings 6->2, skill-delete-scope 2->1. Kept separate deliberately: - storage-root-conflict (cold-start race is the subject), - permission-mode-surface (two different fixture scenarios), - the staged-Skills draft-restoration test (its contract is editor rebuilds on external value changes; concurrent session activity in a shared window perturbs exactly that — observed, not guessed), - quote-companion's batch-close (needs the confirmation dialog the numbered-tab journey suppresses via don't-ask-again). Also removes 11 window fixtures that no spec references (dead seeding code left behind by earlier test deletions): longTranscriptWindow, shortFinalTurnWindow, overflowingRailWindow, sidebarLongSessionsWindow, disclosureOutputWindow, staleSessionsWindow, gitReviewWindow, gitReviewLargeWindow, artifactPaneWindow, localeSwitchWindow, planRemindersWindow. 69 tests / 69 launches -> 34 tests / 34 launches. Local (4 workers): 57.9s -> 47.3/43.2/40.8s across three green rounds. CI runs a single worker, where launch count dominates wall time.
Merging the @-trigger phases into one multi-turn window leaves the prompt rail previewing the same "Fake backend received: …" text as the log. A page-wide getByText then fails Playwright strict mode with two matches.
Same multi-turn strict-mode pitfall as the mention-token journey: the prompt rail previews the assistant reply, so page-wide getByText is ambiguous after the IME phase has already produced a turn.
UncertaintyDeterminesYou4ndMe
commented
Aug 8, 2026
Contributor
Thanks for carrying the rebase, @jackwener — this is exactly the reconciliation I had in flight locally (accept #2478's deletions inside the merged journey bodies; don't reintroduce the presentation pins). Data point from my equivalent local rebase onto |
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Summary
Rebased landing of #2486 onto current
main.Merge same-fixture Electron e2e assertions into multi-phase journeys so one window covers consecutive compatible checks. Dead unused window fixtures are removed.
59 → 31 tests against current
main(main already deleted some presentation suites after the original PR was cut; original claimed 69 → 34).Rebase notes vs upstream #2486
Main landed #2478 presentation cleanup after this PR branched. Rebase deliberately does not reintroduce those deleted presentation pins:
Kept (real product journeys):
longTranscriptWindow,gitReview*, …)Distinct contracts preserved
Turn-settle waits at phase boundaries, count-pin-first / destructive-last ordering annotations, #2355 previous-button coverage, #2452 scrollHeight poll, quote-companion real-timer negative windows.
Original PR
Closes#2486.
Part of #2390.
Credits
@UncertaintyDeterminesYou4ndMe