Skip to content

fix stale P1 and P2 E2E coverage - #6820

Open
AmyShang-alt wants to merge 1 commit into
mainfrom
agent/fix-p1-p2-e2e
Open

fix stale P1 and P2 E2E coverage#6820
AmyShang-alt wants to merge 1 commit into
mainfrom
agent/fix-p1-p2-e2e

Conversation

@AmyShang-alt

@AmyShang-alt AmyShang-alt commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Why

The prerelease P1/P2 run exposed a group of failures caused by tests that still targeted retired entry points, outdated request contracts, and superseded state-reconciliation behavior. Keeping those assertions produced false regression signals. The same run also uncovered a real deck navigation bug: the controls were visible, but the preview iframe intercepted pointer events and prevented clicks.

What users will see

  • The previous/next controls at the bottom of a deck preview are clickable again instead of being intercepted by the preview iframe.
  • All other changes only update E2E setup and expectations to match current product behavior.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Screenshots

No visual styling changes. This fixes pointer hit testing for the existing floating deck navigation.

Bug fix verification

  • Test path that reproduces the bug: e2e/ui/app.test.ts (deck-pagination-per-file-isolated)
  • Did the test go red on main and green on this branch? Yes. On main, it consistently timed out with iframe intercepts pointer events; it passes on this branch.
  • The PR also updates E2E contracts for the current Settings, MCP, handoff, Home optimistic project ID, BYOK payload, daemon-produced files, and reload reconciliation behavior. Unrelated entry-point tests now explicitly suppress the prerelease What's New popup.

Validation

  • pnpm guard
  • pnpm typecheck
  • pnpm --filter @open-design/e2e typecheck
  • pnpm --filter @open-design/web typecheck
  • Deck regression: 1/1 passed
  • Updated non-daemon P1 assertions: 8/8 passed
  • Entry/message-center coverage with the release popup isolated: 7/7 passed
  • Targeted real-daemon regressions (plugin authoring, in-place edit, and reload reconciliation): 3/3 passed
  • git diff --check

@lefarcen lefarcen added size/M PR changes 100-300 lines risk/medium Medium risk: regular code changes type/bugfix Bug fix labels Aug 13, 2026
@lefarcen
lefarcen requested a review from nettee August 13, 2026 04:37
@AmyShang-alt
AmyShang-alt marked this pull request as ready for review August 13, 2026 07:05
@lefarcen

Copy link
Copy Markdown
Contributor

🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in once it's merge-ready.

@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Aug 13, 2026

@nettee nettee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated E2E setup and deck hit-testing fix align with the current product behavior. I found one non-blocking test-hardening issue in the reload regression; the concrete detail is inline. I verified pnpm guard, the workspace typechecks, the E2E typecheck, Playwright discovery, and the targeted reload/deck regressions.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

runId,
runStatus: 'failed',
runStatus: 'succeeded',
hasContent: true,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The poll result is no longer retained or re-asserted before the next action. expect.poll can observe producedFiles: [], then the asynchronous result-delivery path can populate that field before unrouteAll/reload, allowing the post-reload assertion to pass without proving that reload performed the reconciliation. The previous version's preconditionRef explicitly protected this boundary. Please retain the matching poll snapshot (or re-read and assert producedFiles: [] immediately before unroute/reload) so this regression remains tied to the dropped-transport state at the point of reload.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-validation Runtime change detected; needs human or /explore agent validation. risk/medium Medium risk: regular code changes size/M PR changes 100-300 lines type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants