Skip to content

fix(preview): stabilize PiP viewport identity - #4661

Merged
juliusmarminge merged 3 commits into
mainfrom
codex/stabilize-preview-viewports
Jul 27, 2026
Merged

juliusmarminge merged 3 commits into
mainfrom
codex/stabilize-preview-viewports

fix(preview): validate no-wait navigation targets

00d11b1
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Jul 27, 2026 in 6s

,.reManall through it browser/preview code. previewNavigationreadreadи looks fine.But let me double-check the imported error/could contain issues.

.

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.

the


🔍 Agent activity — reasoning, no tool calls

💭 Looking at this PR to see if it violates any Effect service conventions. Most of the changes are React and browser TypeScript code for preview viewport stabilization, so I need to focus on files that actually interact with Effect services. I'm checking the Manager.ts file in the desktop preview directory since that's likely where Effect service usage would appear. Looking at the Manager.ts changes, I'm checking whether they violate Effect service conventions. The modifications include adding a constant for picture-in-picture aspect ratio, updating a pure utility function for sizing calculations, and adjusting a comparison in the preview capture logic—none of which touch the actual service implementation itself. The new files being added are all Promise-based utilities and pure helpers rather than Effect services. previewNavigationReadiness.ts throws plain errors in a Promise context, and the others handle React/DOM concerns without creating any Effect service definitions. Since these files don't create or consume Effect services, the conventions don't apply here. I'm checking whether PreviewAutomationTargetUnavailableError is newly introduced or already existing—it's imported from a module not in the diff, so it's pre-existing. Now I'm facing a conflict between the schema requirement for JSON output and the customer's instruction to respond with "All clear" when there are no findings, and I need to figure out how to reconcile these constraints. Manager.ts is already following the Effect service conventions properly—just pure function and constant updates, no structural issues. The rest of the PR is React and browser Promise code at the application boundary, with the new utility files being pure helpers rather than Effect services.