{{ message }}
Repository navigation
Conversation
…eign server The suite had not run since 2026-08-31. On c8188c6 (3.23.0) it went 191 passed, 12 failed, 6 not run, and every failure traces to a product change the specs had not caught up with: - #21298 added approval by the last plan editor as a project permission that new projects deny, cumulative with self-approval. The admin that creates and approves its own plans needs both, so authorMayApprove() sets them together and the specs snapshot and restore both fields. This fixes 5 failures and the 6 tests their serial blocks skipped. - #21300 renamed the targets-sheet row class. Count rows by the database names the test owns, and find the scroll container by computed style. - #21438 moved the database page's entry to an "Open SQL Editor" link. - #21489 turned the export format radios into a Select and the data-export checkbox into a switch. - #21517 made the MCP policy description a {{bound}} {{audit}} template with new audit copy; the pinned audit disclosure follows that copy. - The saved-query Duplicate lock waited for the pre-#21159 /sheets/ URL, so it failed on a timeout instead of on the dropped SQL body it holds. The framework's port probe bound 127.0.0.1, which macOS allows beside another process's wildcard listener. A run started on a port another session's server held, its own server died with EADDRINUSE, and globalSetup configured the foreign server instead. checkPort now also requires that nothing answers a loopback connect and binds 0.0.0.0 like the server, and every startup poll aborts once the spawned server exits. AGENTS.md records the utility-class locator rule and the two approval permissions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The walker is a Monaco overlay widget, which Monaco positions in its own layout pass a frame or more after the viewport changes. The narrow-view test measured once right after toBeVisible, which already holds at the stale wide-viewport position, so it failed whenever that layout lagged (right edge 982 against an editor edge of 446 at a 480 px viewport, while the failure screenshot showed the walker in the corner). Poll the three geometry checks together until they hold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
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.

Summary
The e2e suite is not in any CI workflow and had not run since 2026-08-31. On 3.23.0 (
c8188c6354) it went 191 passed, 12 failed, 6 not run. Every failure traces to a product change the specs had not caught up with. This PR adapts them, repairs a known-bug lock that had stopped testing its bug, and fixes a harness bug that let one run configure another session's server.authorMayApprove()inplan-helpers.tssets both; the specs snapshot and restore both; the API client learnsallowLastPlanEditorApprovalrounded-lgclassswitch{{bound}} {{audit}}with new audit copyAlso:
test.fail(), "Duplicate drops the SQL body"): it waited for the pre-refactor: rename worksheet to saved query across API, backend, and frontend #21159/sheets/URL, so it failed on a timeout instead of on the bug. It now fails on the bug, which is still present:Expected "SELECT 42;",Received "".checkPortprobed127.0.0.1, which macOS lets bind beside another process's wildcard listener. A run started on 18234 while another session's server held*:18234; its own server died withEADDRINUSE, and globalSetup signed up, installed the license, and created users on the foreign server.checkPortnow also requires that nothing answers a loopback connect, and binds0.0.0.0like the server. Every startup poll aborts once the spawned server exits.frontend/tests/e2e/AGENTS.md: why utility classes are unsafe locators, and the two approval permissions.Test plan
pnpm testinfrontend/on the rebased branch: every gate stage, 5,790 unit teststests/e2e)80341df862: 207 passed, 2 failed. The two failures aresql-editor-schema.spec.ts:311(the product bug below) and the CUJ M narrow-viewport race, fixed in the second commit. After that fix, CUJ M passed 3 of 3 with--repeat-each=3.[::]:PORT, the oldfindAvailablePortpicked the port and the new one skipped it, with 0 HTTP requests to the decoy; with a server that exits at once, the old code waited out the timeout and the new one aborted in about 0.5 sKnown red after this PR:
sql-editor-schema.spec.ts:311("View detail" on a table). It is a product bug, not drift: while the pointer rests on a table row, the SQL Editor schema tree remounts its rows every frame, so the right-click never settles and the table hover card never appears. The fix will be a separate PR.🤖 Generated with Claude Code