Conversation
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. |
|
@marcaaron 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] |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a4b1bdfbe
ℹ️ 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".
| if (transactions !== undefined && prevTransactions !== undefined && transactions.length > prevTransactions.length) { | ||
| if (skipFirstTransactionsChange.current) { | ||
| skipFirstTransactionsChange.current = false; | ||
| } else { | ||
| diffTransactions = transactions.filter((transaction) => !prevTransactions?.some((prevTransaction) => prevTransaction.transactionID === transaction.transactionID)); |
There was a problem hiding this comment.
Reset the diff baseline when switching reports
When the prev/next carousel changes reportID on the mounted screen, prevTransactions still belongs to the previous report. If the destination report has more transactions, this branch classifies every destination transaction absent from the old report as newly added, causing an incorrect scroll and highlight across the report. Reset or re-baseline the comparison whenever reportID changes.
Useful? React with 👍 / 👎.
| const nonRepeatableProgress = useSharedValue(initialNonRepeatableProgressValue); | ||
| const {didScreenTransitionEnd, shouldUseNarrowLayoutOnWideRHP} = useScreenWrapperTransitionStatus(); | ||
| const navigation = useContext(NavigationContext); | ||
| const {didScreenTransitionEnd} = useScreenWrapperTransitionStatus(); | ||
| const theme = useTheme(); | ||
|
|
There was a problem hiding this comment.
Disarm queued highlights when the row stops qualifying
If shouldHighlight becomes false after startHighlight is armed but before the screen transition finishes, this early return leaves startHighlight true. Once didScreenTransitionEnd changes, the second effect still runs the entry and pulse animation without rechecking shouldHighlight, so a cleared or recycled row can flash as newly added. Clear the armed state or verify the current predicate before starting the animation.
Useful? React with 👍 / 👎.
https://expensify.slack.com/archives/C01GTK53T8Q/p1788996794073959
Reverts #98744