Repository navigation
fix: preserve iOS PDF password form during rotation - #104182
nabi-ebrahimi wants to merge 3 commits into
Conversation
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@MelvinBot review this? |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
The fix approach looks right to me. It needs one change before approval: replace the runtime
Why the approach is sound
I did not test this on a device. The change is iOS-native only, and this run could only test on web. |
|
All contributors have signed the CLA ✍️ ✅ |
a38f197 to
f5e7b2f
Compare
Explanation of Change
Move keyboard avoidance from the attachment screen to the PDF password form on iOS, preventing keyboard and rotation changes from resizing the pager and switching attachments. Use
automaticOffsetto account for the modal header and keep Confirm reachable above the keyboard.The change is scoped to iOS modal PDFs, preserving existing Android and inline-preview behavior.
Fixed Issues
$ #103531
PROPOSAL: #103531 (comment)
Tests
Preconditions: A 1:1 chat contains several attachments, including a password-protected PDF that is not the first attachment.
Offline tests
Same as Tests, using a previously loaded PDF while offline.
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Screen_Recording_20261016_201858_New.Expensify.Dev.mp4
Android: mWeb Chrome
Screen_Recording_20261016_202643_Chrome.mp4
iOS: Native
iPhone.11.simulator.iOS.26.3.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari