-
Notifications
You must be signed in to change notification settings - Fork 21
Spike: Define backend-integration retry strategy and wallet-connection reliability model #80
Copy link
Copy link
Open
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26Campaign: Official Campaign | FWC26difficulty: spikeResearch/investigation issue — scope and approach are not yet definedResearch/investigation issue — scope and approach are not yet definedpriority: highHigh priority issueHigh priority issuequestionFurther information is requestedFurther information is requested
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26Campaign: Official Campaign | FWC26difficulty: spikeResearch/investigation issue — scope and approach are not yet definedResearch/investigation issue — scope and approach are not yet definedpriority: highHigh priority issueHigh priority issuequestionFurther information is requestedFurther information is requested
Description
Two compounding reliability gaps:
Silent mock fallback with no retry.
pages/api/profile.tsandpages/api/usdc-price.tsfall back to hardcoded mock data on any fetch failure (network error, non-2xx, bad JSON), with no retry/backoff, and thesource: 'mock' | 'backend'field they already compute is never surfaced in the UI — so users can't tell if they're looking at real or fake data. There's no evidence a realPROFILE_API_BASE_URLbackend is deployed yet.Fragile, single-wallet connection model.
hooks/useAccount.tspolls Freighter via an un-backed-offsetInterval(syncAccount, 2000)that never pauses on tab blur and never surfaces errors to the UI.components/atoms/wallet-button/index.tsx's "Switch account" just re-invokessetAllowed()without verifying the address actually changed. Freighter is the only supported wallet.Component
Frontend
Difficulty
🟣 Spike — investigation required, scope not yet defined
Tasks
/profileand/usdc-price(or equivalent) against the actualtrustflow-backendendpointsuseAccount.tsAcceptance Criteria
Estimated Time
1-2 days (time-boxed spike)