feat: backport wallet-sdk heartbeat (#22948) to v4-next#22956
Merged
Thunkar merged 3 commits intoMay 5, 2026
Conversation
Implements a liveness check on wallets, avoiding promises hanging forever. Due to proving taking a long time, the global backwards compatible timer is set to 5min (since every request can refresh the timer), but once we deprecate `v4` we can tighten it. This will be hell to test on real browsers with things like tabs sleeping, but that is out of scope for this initial version. Closes https://linear.app/aztec-labs/issue/F-510/audit-143-silent-error-swallowing-in-wallet-extension-decryption Closes https://linear.app/aztec-labs/issue/F-511/audit-142-extensionwalletpostmessage-has-no-timeout-requests-hang
Thunkar
approved these changes
May 5, 2026
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.
Backport of #22948 to
v4-next.Original PR
Closes:
Conflict resolution
The cherry-pick produced a single modify/delete conflict on
docs/examples/webapp-tutorial/test-extension/src/background.ts— that tutorial example file exists only onnext, not onv4-next. All 8 wallet-sdk source files applied cleanly. The conflict was resolved by dropping the docs/example file (it's not part of v4-next); the wallet-sdk content is identical to the original PR.Three-commit history preserved per backport guidelines:
feat: wallet-sdk heartbeat (#22948)— original cherry-pick, with the tutorial file added (as left in tree by git)fix: resolve cherry-pick conflicts in webapp-tutorial background.ts— remove the tutorial fileDetailed analysis: https://gist.github.com/AztecBot/78418f5937bd4b60a797ea26f477479d
ClaudeBox log: https://claudebox.work/s/da6b542d03dd5623?run=1