Skip to content

Conversation

@samholmes
Copy link
Contributor

@samholmes samholmes commented Jan 15, 2026

If the change-server subscription response does not occur within 15 seconds, the wallet's mode switches to polling while waiting for the subscription response. When the response is received, the wallet returns to subscribed mode.

This limits the worst-case sync delay when change-server is available but unresponsive to only 15 seconds before falling back to polling.

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

none

Note

Improves resilience of change-server subscriptions by falling back to polling when responses are slow.

  • Add 15s timeout (CHANGE_SERVER_SUBSCRIPTION_TIMEOUT_MS) in currency-pixie to mark pending subscriptions as subscribingSlowly, enabling polling; cleared when subscribe results return; timeout cleaned up in destroy()
  • Extend ChangeServiceSubscriptionStatus with subscribingSlowly and include it in subscription status transitions and filters
  • Update currency-wallet-pixie to run syncNetwork polling when status includes subscribingSlowly
  • Refactor changeServiceManager to an object with update/destroy, and ensure subscription batching, status updates, and lifecycle handling respect the new fallback path
  • Update CHANGELOG.md with the new behavior

Written by Cursor Bugbot for commit 67a12f9. This will update automatically on new commits. Configure here.

@samholmes samholmes changed the title feat(core): add timeout fallback for change-server subscription respo… feat(core): add timeout fallback for change-server subscription responses Jan 15, 2026
@samholmes samholmes force-pushed the sam/change-server-timeout branch from 055aed9 to e200b90 Compare January 19, 2026 19:47
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@samholmes samholmes force-pushed the sam/change-server-timeout branch from 3922df2 to 170c3a0 Compare January 19, 2026 20:11
…nses

If the change-server subscription response does not occur within 15
seconds, the wallet's mode switches to polling while waiting for the
subscription response. When the response is received, the wallet
returns to subscribed mode.

This limits the worst-case sync delay when change-server is available
but unresponsive to only 15 seconds before falling back to polling.
The result processing loop was using stale wallet data captured in indexToWalletId before the await.
Avoids destructuring mutable state which can lead to stale references.
@samholmes samholmes force-pushed the sam/change-server-timeout branch from 170c3a0 to 67a12f9 Compare January 21, 2026 19:12
@samholmes samholmes enabled auto-merge January 21, 2026 19:13
@samholmes samholmes merged commit 0a913ee into master Jan 21, 2026
3 checks passed
@samholmes samholmes deleted the sam/change-server-timeout branch January 21, 2026 19:15
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.

3 participants