Add rotation for PDF attachments#86760
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
|
|
@eVoloshchak Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
I’ll be OOO on Monday, April 6 (bank holiday) and back on April 7. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f491aa3281
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| style={styles.transactionReceiptButton} | ||
| /> | ||
| )} | ||
| {!isPDF && (shouldShowReplaceReceiptButton || isOdometerImage) && ( |
There was a problem hiding this comment.
Preserve replace action for editable PDF receipts
Adding the !isPDF guard here removes the existing ability to replace a PDF receipt in this modal. For transactions where shouldShowReplaceReceiptButton is true, users now lose the replace flow entirely for PDFs (web shows only rotate; native shows neither), which blocks correcting an attached PDF without deleting/recreating the receipt. The replace action should still be rendered for editable PDFs, even when rotation is available.
Useful? React with 👍 / 👎.
|
Looking good! The rotation is not saved after you close the window, is that expected? It's different for images Screen.Recording.2026-04-07.at.07.51.14.mov |
|
@eVoloshchak Yes. It is expected |
|
Updates:
|
Explanation of Change
Fixed Issues
$ #80043
PROPOSAL:
Tests
Precondition: Have a transaction with a PDF receipt attached.
Desktop Web
iOS / Android — Web (browser)
iOS / Android — Native app
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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
android-native-converted.webm
Android: mWeb Chrome
android-web-converted.mp4
iOS: Native
ios-native-converted.mov
iOS: mWeb Safari
ios-web-converted.mov
MacOS: Chrome / Safari
web-converted.mov