Skip to content

Countdown rAF tick, RPC rate limit, configurable LRU cache, RPC timeout breaker - #1016

Open
0xMegie wants to merge 1 commit into
conduit-protocol:mainfrom
0xMegie:waveee
Open

0xMegie wants to merge 1 commit into
conduit-protocol:mainfrom
0xMegie:waveee

Conversation

@0xMegie

@0xMegie 0xMegie commented Oct 19, 2026

Copy link
Copy Markdown

closes #929 - useStreamCountdown now ticks on requestAnimationFrame and only re-renders when the displayed second changes, so the countdown lands on the second boundary instead of drifting behind a setInterval.
The public return shape is unchanged; DOM-ref updates from the issue are not included.

closes #924 - mapWithConcurrency accepts an optional requestsPerSecond option, enforced with a token bucket, so bursts of Horizon/RPC calls can be spaced out even when concurrency is low.
Callers that pass no options are unaffected.

closes #923 - LruMemoCache accepts { maxEntries, ttlMs } in its constructor, with ttlMs as the default TTL for set(). The numeric constructor form still works.
The caller that hardcodes 100 entries is not updated in this PR.

closes #922 - Adds RpcCircuitBreaker, which opens after 3 consecutive RPC timeouts and goes half-open after 30 seconds, so calls fail fast during an outage.
Non-timeout outcomes count as the endpoint being reachable and close the circuit.

…uMemoCache options, and implement RpcCircuitBreaker for timeout handling
@drips-wave

drips-wave Bot commented Oct 19, 2026

Copy link
Copy Markdown

@0xMegie 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

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