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
[Due for payment 2026-10-22] [CFI] Add page navigation to multi-page PDF receipts in desktop full preview #102435
Multi-page PDF receipts now show a Page 1 of N badge, but you can't flip through the pages in the full receipt preview. A prospective customer asked for an easy way to move between pages of a multi-page PDF receipt.
Solution
Add page navigation controls (previous/next page) to the full-screen receipt/attachment preview for multi-page PDFs on desktop (web and desktop app).
The full preview already loads the whole PDF, so this should be a frontend-only change.
Update the page indicator (Page X of N) as the user moves between pages.
Mobile is out of scope. The receipt preview there isn't a full-page view, so pagination adds little value.
changed the title [-]Add page navigation to multi-page PDF receipts in desktop full preview[/-][+][CFI] Add page navigation to multi-page PDF receipts in desktop full preview[/+]on Sep 28, 2026
Ah, in the thread in #migrate we decided this can be desktop only because mobile doesn't have a full preview anyway so you need to click in to see it all.
Thanks! And don't be offended that I marked your mobile comment as outdated, I just don't want to confuse anyone working on this since we decided this will be desktop only 😂
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
It's a new feature
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
Regression Test Proposal
Precondition:
Test:
On desktop web, open an expense whose receipt is a multi-page PDF already on the server.
Verify the pill reads "Page 1 of N" with disabled buttons, then both buttons enable once the PDF loads.
Click next and verify the preview shows page 2 and the pill reads "Page 2 of N".
Click previous and verify it goes back to page 1, and that previous is disabled on page 1.
Click next until the last page and verify next is disabled.
Hover the receipt and verify it zooms, then move the pointer onto the pill and verify the zoom stops.
Create a new expense with a multi-page PDF receipt, open it while it's still scanning, and verify the pill appears once the PDF loads and keeps working after the scan finishes.
Open an expense with a single-page PDF or an image receipt and verify no page badge or pill shows.
Block the PDF's network request (or point the receipt at a broken URL) and verify the view falls back to the static "Page 1 of N" badge instead of a stuck or broken pill.
Flip to a later page, then replace the receipt with a different multi-page PDF, and verify the pill resets to page 1 with both buttons disabled until the new file loads.
Activity
melvin-bot commentedon Sep 28, 2026
Triggered auto assignment to Design team member for new feature review - @dannymcclain (
NewFeature)dannymcclain commentedon Sep 28, 2026
From a design perspective I don't really see a huge reason not to go with what @dubielzyk-expensify mocked up here:
[-]Add page navigation to multi-page PDF receipts in desktop full preview[/-][+][CFI] Add page navigation to multi-page PDF receipts in desktop full preview[/+]trjExpensify commentedon Sep 28, 2026
Same, looks good to me. 👍
dubielzyk-expensify commentedon Sep 28, 2026
trjExpensify commentedon Sep 29, 2026
Ah, in the thread in #migrate we decided this can be desktop only because mobile doesn't have a full preview anyway so you need to click in to see it all.
dubielzyk-expensify commentedon Sep 29, 2026
Ah, gatcha. Yep, then go with my OG mock 👍
trjExpensify commentedon Sep 29, 2026
Kewl. If you have it to hand, pop it in the OP - or I'll find it tomorrow. 👍
dubielzyk-expensify commentedon Sep 29, 2026
Done 👍
dannymcclain commentedon Sep 29, 2026
Thanks! And don't be offended that I marked your mobile comment as outdated, I just don't want to confuse anyone working on this since we decided this will be desktop only 😂
18 remaining items
huult commentedon Oct 16, 2026
Contributor+ Checklist:
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
It's a new feature
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
Regression Test Proposal
Precondition:
Test:
Do we agree 👍 or 👎
melvin-bot commentedon Oct 21, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Oct 21, 2026
Payment Summary
Resolving PRs:
Add page navigation to multi-page PDF receipts #102776
Reviewer: @huult owed $175 via NewDot
Contributor: @ishpaul777 does not require payment (Contractor)
BugZero Checklist (@mallenexpensify)
mallenexpensify commentedon Oct 24, 2026
Payment Summary
Contributor+: @huult due $175 via NewDot