fix: handle jersey checkout network errors gracefully on Safari/iOS #220
Labels
No labels
domain:backend
domain:devops
domain:frontend
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/westside-app#220
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Related to
forgejo_admin/basketball-api #340(parent issue).Repo
forgejo_admin/westside-landingUser Story
As a parent ordering a jersey on Safari/iOS
I want a clear error message when the checkout request fails
So that I know to retry instead of seeing a cryptic "load failed" message
Context
A parent (Daniel Niyitanga) clicked "Order" on the jersey page and saw raw "load failed" error. Investigation confirmed the basketball-api backend is fully functional (CORS, Stripe key, endpoint all work). Safari/iOS throws
TypeError: Load failedon transient network failures duringfetch(). The frontend displayserr.messagedirectly which is unhelpful. Additionally, the token is not URL-encoded when building the checkout URL, and there is no fetch timeout to prevent indefinite hangs.File Targets
Files the agent should modify or create:
src/routes/(app)/jersey/+page.svelte-- improve error handling in handleSelect, URL-encode token, add fetch timeoutFiles the agent should NOT touch:
src/lib/api.js-- not used by the jersey checkout flowsrc/lib/keycloak.js-- auth layer is working correctlyAcceptance Criteria
Test Expectations
Constraints
Checklist
Related
westside-- project this affects