test(#10722): add plugin-views keyboard focus-order audit to the WebKit ui-smoke lane - #11877
Conversation
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Validation attempted on rebased branch against Command: Result: blocked before app assertions. The app/view build and Playwright startup completed, but all 55 WebKit cases failed at browser launch because this host is missing
Passwordless sudo is not available on this machine, so I could not install the missing WebKit dependency here. Leaving unmerged per the PR body requirement: do not merge until a real WebKit run is green. |
|
Validation update: I ran the requested opt-in WebKit smoke locally from a clean temp worktree at commit Command: Result: not merge-ready. The suite built the plugin views/core packages and reached Playwright, but all 55
I also checked whether I could install it here; noninteractive sudo is unavailable ( |
|
HOLD — config is coherent; the lane has never run. Verified: the regex feeds only the opt-in |
Update — config is correct; WebKit is env-blocked on this host (precise blocker)Got past the earlier "webServer won't boot" (that was a port-31337 collision with an adb-forward, now cleared). The WebKit browser itself won't launch on this host:
So the config change is verified sound (biome clean, rebased clean, correctly scoped — CDP-touch specs stay Chromium, clipboard/mic specs excluded), but the actual |
…ch-action (#11853 sibling) (#11904) The existing *-gate.test.ts files are all STYLE gates. Two production UI bugs slipped past every one of them plus manual QA because they were MECHANICS bugs (the pixels looked right, the interaction was dead): (a) drawer-not-scrollable: a clamped-height (max-h-[..vh]) + flex-col + overflow-hidden shell with no inner overflow-y-auto scroll body — taller content is dead-clipped and unreachable. (b) broken-swipe: a useHorizontalPager surface with no explicit touch-action — the browser default (auto) steals the horizontal pan and fires pointercancel, so the flick never commits on touch. Adds a static (no-browser) vitest gate scoped to the real drawer/pager surfaces (McpDetailDrawer, Launcher, HomeLauncherSurface). Comments are stripped before scanning and the drawer scroll-body triad is checked per-element (not per-file) so a comment mention or a decoy scroller can't mask a regression. Self-tests plant each bug shape (incl. the exact false-negatives codex flagged) and assert the detector fires. Green against develop; fails on both planted real-bug shapes. This is the MECHANICS gap not covered by #11868 (44px tap-target), #11877 (focus order), or #11898 (test-red clearing). Enforcement is #11853's job. — [sol-orch] Co-authored-by: wakesync <shadow@shad0w.xyz>
2f7cb59 to
428546d
Compare
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Rebased onto current Local validation in
The WebKit command built the plugin view bundles and shared/core prerequisites, then all 57 rows failed immediately at So this still should not merge until CI or another host with WebKit system deps installed produces one green |
…d lane Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
428546d to
2998447
Compare
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Rebased again onto current Validation after this rebase:
The WebKit runtime blocker from the previous local run remains environmental on this host ( |
…WebKit clobber) + honest comment (review fix) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
❌ PR title does not match the required pattern. Please use one of these formats:
|
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
What
Expands the existing opt-in WebKit ui-smoke project (
PLAYWRIGHT_WEBKIT=1) to includeplugin-views-visual.spec.ts— theTab-order / sequential-focus-navigation audit — alongside the chat pointer/focus/composer specs it already runs.Why WebKit specifically: the registered plugin views ship in the iOS/macOS WKWebView, so a WebKit focus or sequential-focus-navigation divergence must be caught on the engine that actually ships to iOS — not only on Chromium. CDP-touch specs (
Input.dispatchTouchEventis Chromium-only) intentionally stay on Chromium; clipboard/mic specs remain excluded (WebKit doesn't grant those permissions).Config-only change; keeps the
PLAYWRIGHT_WEBKIT=1opt-in gating so the default lane never reddens where the WebKit browser isn't installed.Biome clean, rebased clean onto develop, and the WebKit browser (
webkit-2311) is present. But the ui-smokewebServerdid not boot in this session (unrelated dev-server startup issue under load), so I could not confirmplugin-views-visualruns green on WebKit here. Before merge it needs one cleanPLAYWRIGHT_WEBKIT=1run — either it passes (merge) or it surfaces a real WebKit focus divergence (a genuine #10722 finding to fix). Do not merge until run green on WebKit. Refs #10722.🤖 Generated with Claude Code