Skip to content

feat: optimistic useStream updates, NETWORK_CONFIGS, custom-fetch timeout, and getStream request coalescing (#928 #927 #926 #925) - #1002

Merged
Jaydbrown merged 2 commits into
conduit-protocol:mainfrom
IbrahimIjai:main
Oct 19, 2026
Merged

Jaydbrown merged 2 commits into
conduit-protocol:mainfrom
IbrahimIjai:main

Conversation

@IbrahimIjai

Copy link
Copy Markdown
Contributor

closes #928 - useStream now returns withdraw/cancel actions that update stream state as soon as they are called (withdrawn amount / cancelled flag).
Changes roll back if the transaction fails and are reconciled with the ledger after it succeeds, removing the 4-5s visual delay.

closes #927 - Export NETWORK_CONFIGS (plus the NetworkConfig type) with the network passphrase, Soroban RPC URL and Horizon URL for Mainnet, Testnet and Futurenet.
Factory/vault address fields are in place (currently null until official deployments are published) so apps stop copying config from the docs.

closes #926 - Custom-fetch RPC requests now run with an AbortController and time out after 15000ms by default.
The timeout can be set via ConduitConfig.requestTimeoutMs or the timeoutMs argument of registerCustomFetch (0 disables it), and caller signals and axios timeouts are still respected.

closes #925 - Add coalesceInFlight, which shares a promise only while the request is in flight, and use it in StreamsModule.get().
Concurrent identical getStream() calls now share one network request; calls that pass an AbortSignal bypass sharing to keep abort semantics isolated.

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@IbrahimIjai Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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