Centralize and retry handle session aware fetches in client#500
Open
ekwe7 wants to merge 4 commits into
Open
Conversation
Implements the Add/Edit Savings Goal flow by lifting goalsData into
component state and providing a fully accessible modal form.
Key changes:
- Integrated lib/validation/savings-goals for real-time form validation.
- Externalized all strings and error messages to en.json for full i18n
support.
- Implemented modal accessibility (focus trap, ESC to close, and
motion-reduce).
- Recomputed daysLeft and isOverdue dynamically from the target date.
- Added 100% test coverage for goals utilities and validation logic.
- Improved UI robustness with line-clamping for long titles and descriptions
… reflection Cleans up unrelated syntax errors, missing imports, and type issues in app/ and components/ to ensure a green CI build for the savings goals feature.
Adds set/edit limit control and a spent-vs-limit progress bar with near/over-limit warning states. Includes validation logic for spending limits and improves accessibility of the utilization display.
apiClient Enhance API request resilience by centralizing retry logic in lib/client/apiClient.ts. Added support for retries on 5xx server errors, 429 rate limiting, and network failures using configurable exponential backoff. Included comprehensive unit tests to verify the retry behavior and ensure session expiry handling remains correctly sequenced.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #484
Description:
This PR enhances API request resilience by centralizing retry logic in
lib/client/apiClient.ts.
Changes:
automatically retry requests on 5xx server errors, 429 rate limiting,
and network failures.
prevent overwhelming the server.
ApiClientOptions, allowing granular control per request.
functions correctly and does not interfere with the existing
session-expiry handling flow.
Verification:
without retries.