You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(recording): normalize rotated video bounds before touch overlays - #3494
Duo inner-panel recordings with a rot90 preferred transform exported outside the composition canvas, triggering an all-black export rejection and overlayWarning. Normalize the transformed frame origin using the same bounds that determine render size. Four files update the helper, native regression coverage/fixture, and ADR evidence.
Native export tests: original helper 1 failed/7 passed; fixed helper 8 passed, covering identity, negative-origin rot90, and translated rot90 with upright pixel checks.
Exact-head live Duo/iOS 27.1 short overlay/control: both 2852×2006, no warning, decoded luma 246.909–247.176, tap crop 5,130 blue pixels versus zero in matching raw source.
Same helper bytes passed the earlier ~90s five-tap/four-scroll matrix: overlay/raw 90.833/90.825s, control 91.048s, all nine event crops draw touch pixels, no warning. Native runner build passed.
Current landscape pose presents upright 2852×2006; the issue's older portrait dimensions are explained in the issue evidence.
This PR is ready at 7173576. I found no problems in the diff, and no conflicts. CI is still running, with Lint & Format, Coverage, two Smoke Tests and two Analyze jobs queued or in progress. None has failed. The macOS-gated Swift export tests in the Coverage lane are the ones that exercise this change. I ran no tests and had no live device, so the Duo claims rest on the PR body, and I did not diff the helper bytes across heads or read the full tap and scroll builders in recording-overlay.swift beyond checking that they take renderSize. Not blocking: the shared beforeAll timeout in recording-scripts.test.ts now also covers three more Swift compiles and three export cycles, so exerciseOverlayExports could get its own timeout; and the second resolvedRenderSize in recording-inspect.swift agrees with the overlay's today, so it can stay unless the two drift. Both can be taken or left. Before merge, CI needs to go green (Lint & Format, Coverage, Smoke), and the live Duo measurements should be posted on #2774 so the issue's completion conditions are on record.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ready-for-humanValid work that needs human implementation, judgment, or maintainer merge
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #2774.
Duo inner-panel recordings with a rot90 preferred transform exported outside the composition canvas, triggering an all-black export rejection and
overlayWarning. Normalize the transformed frame origin using the same bounds that determine render size. Four files update the helper, native regression coverage/fixture, and ADR evidence.Validation
Tested commit:
7173576630b7987714602738361b226b4b0ebcda.pnpm check:affected --runpassed.