Skip to content

fix: stop false "Sync delayed" timeout when no replacement vault is m… - #33

Open
kriss39 wants to merge 1 commit into
p-11:mainfrom
kriss39:fix/post-withdraw-false-timeout
Open

kriss39 wants to merge 1 commit into
p-11:mainfrom
kriss39:fix/post-withdraw-false-timeout

Conversation

@kriss39

@kriss39 kriss39 commented Sep 13, 2026

Copy link
Copy Markdown

…inted

resolveReplacementVaultAction deliberately skips minting a replacement vault when the destination is an owned account, when another same-chain vault is already safe, or when a sibling's status is unknown. The post-withdraw reconcile loop, however, only treated the owned-destination case as terminal: in the other two skip branches (and on auto-resumed reconciles after a reboot, where any replacement already sits in the baseline) isPostWithdrawComplete waited for a fresh account outside the baseline that can never appear, polled the SDK for the full 30s window and then surfaced a "Sync delayed" banner for a withdrawal that had succeeded.

Thread expectsReplacementAccount from the withdraw path (true only when a replacement was actually created) and the resume effect (always false) into the loop, and settle on the source-side signal alone when no replacement is expected.

Why

  • Explain the reason for this pull request.
  • What problem is it solving?
  • Any relevant background or context?

How

  • Describe the changes made.
  • What approach was used?
  • Any key design decisions or implementation details?

Security / Environment Variables (if applicable)

  • Note any changes that affect security (new dependencies, communication with external services, data encryption, authentication).
  • Note any new environment variables that will need to be set.
  • Describe potential impacts or additional setup needed.

Testing

  • Describe how you tested your changes.
  • List any additional testing steps needed for review.

…inted

`resolveReplacementVaultAction` deliberately skips minting a replacement
vault when the destination is an owned account, when another same-chain
vault is already `safe`, or when a sibling's status is unknown. The
post-withdraw reconcile loop, however, only treated the owned-destination
case as terminal: in the other two skip branches (and on auto-resumed
reconciles after a reboot, where any replacement already sits in the
baseline) `isPostWithdrawComplete` waited for a fresh account outside the
baseline that can never appear, polled the SDK for the full 30s window and
then surfaced a "Sync delayed" banner for a withdrawal that had succeeded.

Thread `expectsReplacementAccount` from the withdraw path (true only when
a replacement was actually created) and the resume effect (always false)
into the loop, and settle on the source-side signal alone when no
replacement is expected.

This branch has not been deployed

No deployments
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.

1 participant