Skip to content

Import: Enhancement - deferred import - #2154

Draft
gabrielbazan7 wants to merge 1 commit into
bitpay:developfrom
gabrielbazan7:feat/deferred-import
Draft

Import: Enhancement - deferred import#2154
gabrielbazan7 wants to merge 1 commit into
bitpay:developfrom
gabrielbazan7:feat/deferred-import

Conversation

@gabrielbazan7

Copy link
Copy Markdown
Collaborator

No description provided.

@gabrielbazan7
gabrielbazan7 force-pushed the feat/deferred-import branch 7 times, most recently from 9a63258 to 6799832 Compare June 10, 2026 16:15
@gabrielbazan7
gabrielbazan7 marked this pull request as ready for review June 10, 2026 18:49
@gabrielbazan7
gabrielbazan7 force-pushed the feat/deferred-import branch from 6799832 to 06afd6f Compare June 10, 2026 19:05
@gabrielbazan7
gabrielbazan7 marked this pull request as draft July 17, 2026 13:47

@JohnathanWhite JohnathanWhite left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Automated review by Codex — gpt-5.6-sol, with findings verified locally against this PR's head commit before posting. Anything that didn't hold up was dropped.

Draft, so this is pre-review feedback — but this one looks like it needs a fix rather than a reply.

'isImportLedgerModalVisible',
'showArchaxBanner',
'importBannerMessage',
'importIsFirstKey',

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pendingImport and importProgress are persisted, so a killed import wedges the UI permanently

Only importBannerMessage and importIsFirstKey were added to appReduxPersistBlackList; the two other new fields, pendingImport and importProgress, are left persisted. Because the deferred import now continues in a detached IIFE after the user has navigated away, an app kill or crash mid-import persists pendingImport: true with a partial importProgress, and nothing on the next launch resets them — setPendingImport(false) is only dispatched from that IIFE's success and catch paths, which are gone. On rehydrate the user gets the import skeleton card in the Home carousel and a stuck progress bar, plus disabled={pendingImport} on the create/import controls in Crypto.tsx and WalletsAndKeys.tsx, so they cannot add or import any key at all. importIsFirstKey resets to false while pendingImport stays true, which makes the state internally inconsistent as well. These four fields look like they should all be blacklisted together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants