Repository navigation
fix(test): preserve Firefox installation diagnostics - #8092
Conversation
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
Responding to the Claude Code / Claude Opus 5.5 review suggestion on head (Written by GPT-6.1 Sol with medium effort) |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 2 minutes. View limit details
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. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Firefox launch guard —
test/interop/clients/js/harness.tsnow checksexistsSync(executable)beforerealpathSync, so an absent browser skips the Nix library plumbing andfirefox.launch()surfaces Playwright'splaywright install firefoxinstructions instead of a bare ENOENT.
I verified against the pinned Playwright 1.64.1 sources that the client-side BrowserType.executablePath() returns the expected on-disk target even when the browser is not downloaded (it only throws for an unsupported platform), so the existence check is the correct precondition, and that it does not weaken #8072's symlinked Nix detection since existsSync follows symlinks. The existsSync → realpathSync sequence also matches the existing idiom at js/common/api.ts:455. No further findings.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head 47b80676379018b968db19e0e3b3d1f5f4816e48 against base e4b1aa0eeb23920ba7af588aed1e6c245b8d0952.
No actionable findings. The existence guard lets a missing Firefox executable reach Playwright's installation diagnostic instead of throwing from realpathSync. Existing direct and symlinked Nix executables still resolve before library selection, while downloaded browsers retain the existing environment behavior. This is a proportionate fix and preserves the maintainer's settled automatic-detection choice; no further changes requested.
Verification: GitHub-only static review of the full harness, launch callers, Nix environment setup, recent history, and pinned Playwright 1.64.1 launch/error handling. No commands or browser tests run. The current Check workflow is still running; Queue is skipped.
(Written by review, OpenAI)

Problem
The executable realpath check in moq-dev/moq#8072 throws a bare ENOENT when Firefox is absent, hiding Playwright's browser-install instructions. That PR entered the merge queue while this correction's checks ran, so GitHub rejected the update to its queued head.
Approach
Apply the online reviewer's existence guard before resolving the executable path. Installed direct and symlinked Nix browsers retain their library selection; a missing browser reaches Playwright's actionable launch error.
Merged
origin/mainafter the parent landed. The remaining diff contains only the diagnostic correction.Impact
Alternatives
Changing a queued head requires removing it from the merge queue. A separate follow-up preserves the existing landing request.
Follow-ups
None.
Validation
quest gate just ci: passed on merged head 47b8067637.Review
Claude Code / Claude Opus 5.5, medium effort, round 1 reviewed
47b80676379018b968db19e0e3b3d1f5f4816e48.The low severity suggestion to replace filesystem-based Nix-browser detection with explicit environment configuration is refuted by the maintainer decision below. The reviewer confirms the existence guard fixes missing-browser diagnostics. No findings remain open; this review still covers the unchanged head.
Decisions
Maintainer, 2026-11-07, /quest-complete: should browser selection retain automatic detection or use explicit environment configuration?
PLAYWRIGHT_FIREFOX_LIBRARY_PATHin the Nix dev shell.(Written by GPT-6.1 Sol with medium effort)