-
⚡ feat: implement GET request deduplication in API layer · 624fdeccAdd request deduplication mechanism to prevent duplicate GET requests to the same endpoint within the same timeframe, significantly reducing unnecessary network overhead. **Changes:** - Add `patchAPIInstance()` function to intercept and deduplicate GET requests - Implement in-flight request tracking using Map with URL+params as unique keys - Apply deduplication patch to both initial API instance and `updateAPI()` recreated instances - Add `disableDuplicate: true` config option to bypass deduplication when needed **Benefits:** - Eliminates redundant API calls caused by component re-renders or rapid user interactions - Reduces server load and improves application performance - Provides automatic protection against accidental duplicate requests - Maintains backward compatibility with existing code **Technical Details:** - Uses Promise sharing for identical concurrent requests - Automatically cleans up completed requests from tracking map - Preserves original axios functionality with minimal overhead - Zero breaking changes to existing API usage Addresses the issue observed in EditChannel.js where multiple calls were made to the same endpoints during component lifecycle.
Apple\Apple committed
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| components | Loading commit data... | |
| constants | Loading commit data... | |
| context | Loading commit data... | |
| helpers | Loading commit data... | |
| hooks | Loading commit data... | |
| i18n | Loading commit data... | |
| pages | Loading commit data... | |
| App.js | Loading commit data... | |
| index.css | Loading commit data... | |
| index.js | Loading commit data... |