Skip to content

fix(e2e): give the tab-seo project a tall viewport so the sidebar dock list doesn't overflow - #1084

Merged
antfu merged 3 commits into
nuxt:mainfrom
antfubot:fix/e2e-tab-seo-sidebar-viewport
Sep 1, 2026
Merged

fix(e2e): give the tab-seo project a tall viewport so the sidebar dock list doesn't overflow#1084
antfu merged 3 commits into
nuxt:mainfrom
antfubot:fix/e2e-tab-seo-sidebar-viewport

Conversation

@antfubot

@antfubot antfubot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

What

playground-tab-seo.spec.ts's leaves the populated Pages dock through the expanded sidebar without emptying the frame test has been failing on every main push since it was added (a2c06d22), and is currently red on CI. It clicks sidebar dock buttons (Hooks, Virtual Files, Debug, Data Inspector) that live behind Devframe's "Show more" overflow popover, e.g.:

TimeoutError: locator.click: Timeout 15000ms exceeded.
  - <iframe data-iframe-pane="nuxt:devtools" ...> from <div id="devframes-anchor" ...> subtree intercepts pointer events

Root cause

The Nuxt dock group lists ~20 member docks. At the default 1280×720 viewport, Devframe's edge-docked sidebar toolbar only shows a handful before overflowing the rest behind a "Show more" popover. That popover renders underneath the kept-alive devtools iframe (an upstream @devframes/hub-ui stacking/z-index issue — confirmed present as far back as devframe@0.8.0, i.e. unrelated to the recent devframe/@vitejs/devtools bump), so a click on an overflowed item's coordinates hits the iframe instead of the button underneath the popover.

Fix

Give the tab-seo project (both dev and built Playwright projects) a tall viewport (1280x2000) so every one of the group's member docks renders inline in the sidebar, sidestepping the "Show more" popover — and the upstream stacking bug — entirely.

Verified locally: ran the previously-flaky test 5x in a row after this change (20/20 clicks across Hooks/Virtual Files/Debug/Data Inspector, each run) with 0 failures, versus a consistent, reproducible failure before the change. Also ran the full pnpm test:e2e:dev and pnpm test:e2e:built suites to confirm no other spec regressed.

Note on the other CI failure

ci's "Release Nightly" step (pnpm publish of @nuxt/devtools-assets-nightly) has also been failing with a registry 404 on every main push since the @nuxt/devtools-assets package was introduced (39470fd1) — this is a one-time npm registry/token permission issue for a package that's never been successfully published (OIDC trusted-publish falls back to the token-based publish, which also 404s), not something fixable from a source change. It needs an npm org admin to grant the CI token/OIDC publisher access to the new package name. Left untouched here since it's out of scope for a code PR.


This PR was created with the help of an AI agent.

…k list doesn't overflow

The Nuxt group's edge-docked sidebar lists ~20 member docks. At the
default 720px viewport height, Devframe's edge-dock toolbar overflows
most of them behind a "Show more" popover, and that popover renders
underneath the kept-alive devtools iframe (an upstream
@devframes/hub-ui stacking bug) — so Playwright's click on an
overflowed sidebar item (e.g. Virtual Files, Data Inspector) times out
with "iframe intercepts pointer events".

Give the tab-seo project's dev/built variants a tall viewport so every
member dock renders inline instead, sidestepping the popover (and the
bug) entirely.

Verified locally: playground-tab-seo.spec.ts's previously-flaky
sidebar test now passes consistently (20/20 across 5 runs before this
change reliably reproduced the failure).
@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: cbeb37a2-053b-4c7e-b9d1-0057719295f5

📥 Commits

Reviewing files that changed from the base of the PR and between a990525 and 3a4051f.

📒 Files selected for processing (1)
  • tests/e2e/playwright.config.ts
💤 Files with no reviewable changes (1)
  • tests/e2e/playwright.config.ts

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The Playwright configuration now applies a 1280×2000 viewport to every project. The overflow comment now refers to any dock group.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 3a405

This change only adjusts the tab-seo end-to-end test viewport to prevent sidebar overflow; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main E2E fix: adding a tall viewport for the tab-seo project to prevent sidebar dock overflow. It is concise and related to the changeset.
Description check ✅ Passed The description explains the failing test, root cause, viewport fix, verification steps, and the unrelated CI failure. It directly matches the changeset and objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Simplify: no need to gate this per-playground since a 2000px-tall
viewport is harmless for the other playgrounds and keeps the config
simpler.
@antfu
antfu merged commit 9f59623 into nuxt:main Sep 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants