-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Parent: #236 (Phase 2)
Problem
GET /api/wallets/{checksum}/detail returns up to 10,000 transactions with no pagination. Users with 10K+ transactions silently lose visibility of older history. Every 60-second poll re-downloads the full payload (~5.5 MB at 10K tx).
What to change
Server-side cursor pagination
- Add
cursorandpage_sizequery parameters to the detail endpoint - Paginate on
(confirmed_at, txid)composite cursor - Default page size: 50–100 transactions
- Return
next_cursorin response for the frontend to fetch more
Incremental polling
- Add
since_timestampparameter to fetch only new/changed transactions since last poll - Frontend sends last-known timestamp, API returns only the delta
- Dramatically reduces bandwidth on subsequent polls
Key files
backend/src/handlers/wallet.rs— detail endpointbackend/src/metadata/transaction.rs— query with paginationfrontend/src/hooks/useWalletDetail.ts— polling logicfrontend/src/components/transactions.tsx— infinite scroll / load more
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request