Background
Rapid navigation or user actions trigger multiple identical API calls concurrently. Request deduplication tracks in-flight requests and returns same promise, reducing redundant calls by 40-60% and server load proportionally.
Description
Currently, identical API calls execute concurrently if triggered rapidly, causing unnecessary network traffic and server overload. Implement deduplication by tracking in-flight requests.
Current Behavior
User navigates rapidly or retriggers fetch → 5+ identical API calls execute
Expected Behavior
Identical in-flight calls return same promise. Redundant calls prevented.
Impact
📉 Reduce API calls by 40-60% in typical workflows
🚀 Lower server load
⚡ Faster response times from reduced network congestion
Acceptance Criteria
Implementation Hints
Use Map to track requests. Key = method + URL + JSON.stringify(params). Value = Promise. Use AbortController for cancellation.
Performance Metrics
Before:
- apiCalls: 15 calls per workflow
After (Target):
- apiCalls: 6 calls per workflow (-60%)
Related Issues
Background
Rapid navigation or user actions trigger multiple identical API calls concurrently. Request deduplication tracks in-flight requests and returns same promise, reducing redundant calls by 40-60% and server load proportionally.
Description
Currently, identical API calls execute concurrently if triggered rapidly, causing unnecessary network traffic and server overload. Implement deduplication by tracking in-flight requests.
Current Behavior
User navigates rapidly or retriggers fetch → 5+ identical API calls execute
Expected Behavior
Identical in-flight calls return same promise. Redundant calls prevented.
Impact
📉 Reduce API calls by 40-60% in typical workflows
🚀 Lower server load
⚡ Faster response times from reduced network congestion
Acceptance Criteria
Implementation Hints
Use Map to track requests. Key = method + URL + JSON.stringify(params). Value = Promise. Use AbortController for cancellation.
Performance Metrics
Before:
After (Target):
Related Issues