fix(preview): stabilize PiP viewport identity - #4661
,.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.