Repository navigation
Conversation
Use the shared InlineEditSaveResult type for both popover hook signatures so promise-returning cell callbacks pass no-misused-promises.
melvin-bot
Bot
requested review from
joekaufmanexpensify
and removed request for
a team
October 8, 2026 22:51
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. |
38 tasks done
Contributor
Author
|
Going to use Chuck's PR https://github.com/Expensify/App/pull/103539instead |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Explanation of Change
Use the shared
InlineEditSaveResulttype foronSavein both signatures ofusePopoverEditState.PR 103166 changed
EditableProps.onSaveto returnvoid | boolean | Promise<boolean>, while the popover hook still declared avoidreturn. Passing those callbacks into the hook causes@typescript-eslint/no-misused-promiseserrors inDateCell,CategoryCell, andTagCell.This change aligns the callback types without changing runtime behavior.
Failing job: https://github.com/Expensify/App/actions/runs/37845005311/job/113543571292
Fixed Issues
N/A — follow-up for a CI failure; no separate tracking issue.
For #103166
PROPOSAL: N/A
Tests
npm run lint -- --no-cache src/components/EditableCell/usePopoverEditState.ts src/components/Search/SearchList/ListItem/DateCell.tsx src/components/TransactionItemRow/DataCells/CategoryCell.tsx src/components/TransactionItemRow/DataCells/TagCell.tsx.no-misused-promiseserrors are gone and the lint command exits successfully.npm test -- --silent --runInBand tests/unit/inlineEditing/editableCellHooks.test.ts tests/ui/DateCellTest.tsx.npm run react-compiler-compliance-check check-changed.AI Tests
Checks completed before committing:
npm run lint-changed -- --no-cache.npm run react-compiler-compliance-check check-changed.npm run spell-changed.npx --no-install oxfmt --check src/components/EditableCell/usePopoverEditState.ts.git diff --check.npm run typecheck: app, Bun, Node, and chart-renderer projects passed. The Jest project failed with an unrelatedTS2322mock-type error intests/unit/MarkdownTextInputParserRegistrationTest.tsx:37:jsi_registerMarkdownWorkletexpects a serializable worklet and a numeric return, while the mock takes a numeric parser ID and returns aSet<number>.Offline tests
N/A — only TypeScript callback return annotations change; no runtime or network behavior changes.
QA Steps
N/A — type-only ESLint fix. The PR title includes
[No QA].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
N/A — type-only change.
Android: mWeb Chrome
N/A — type-only change.
iOS: Native
N/A — type-only change.
iOS: mWeb Safari
N/A — type-only change.
MacOS: Chrome / Safari
N/A — type-only change.