Skip to content

feat: build incoming streams page and wire stream action APIs#438

Merged
ogazboiz merged 6 commits into
LabsCrypt:mainfrom
MarvyNwaokobia:feat/stream-ui-flows
Apr 29, 2026
Merged

feat: build incoming streams page and wire stream action APIs#438
ogazboiz merged 6 commits into
LabsCrypt:mainfrom
MarvyNwaokobia:feat/stream-ui-flows

Conversation

@MarvyNwaokobia

@MarvyNwaokobia MarvyNwaokobia commented Apr 29, 2026

Copy link
Copy Markdown

Summary

  • build the /incoming page around React Query with responsive incoming stream cards, loading and empty states, and transaction tracking for withdrawals
  • add a dedicated incoming-stream API layer plus query provider, and tighten related frontend tests/build dependencies so the frontend CI workflow passes
  • wire backend pause/resume routes to JWT auth, add withdraw support for recipient actions, fix stream event persistence/filtering, and add integration coverage for stream action endpoints
  • clean up stale backend test fixtures and duplicated SSE/worker code so backend build/test workflows are green locally when DB-backed tests are unavailable

Testing

  • npm run lint --workspace=frontend
  • npm run test --workspace=frontend
  • npm run build --workspace=frontend
  • npm run build --workspace=backend
  • npm run test --workspace=backend -- tests/integration/stream-actions.test.ts
  • npm test --workspace=backend

Linked Issues

Marvy added 3 commits April 29, 2026 11:46
…loses LabsCrypt#414)

- Add pauseStream() and resumeStream() methods to sorobanService.ts
- Implement pause and resume controller handlers in stream.controller.ts
- Register POST /v1/streams/:streamId/pause and resume endpoints
- Add authentication middleware to both endpoints
- Validate caller is stream sender before pausing/resuming
- Update database with pause state and track pause duration
- Create PAUSED and RESUMED events for stream audit trail
- Return 409 Conflict for invalid state transitions
- Add comprehensive OpenAPI documentation
…ty (closes LabsCrypt#416)

- Implement full incoming streams page at /incoming route
- Fetch streams filtered by recipient = connectedWallet from API
- Display each stream with sender address, token, rate, claimable amount
- Implement withdraw action per stream card via POST /streams/:id/withdraw
- Integrate TransactionTracker for transaction state visualization
- Add proper error handling and user feedback via toast notifications
- Cache invalidation after successful withdraw via fetchDashboardData refresh
- Show loading skeleton while data is fetched
- Display wallet connection message when disconnected
- Mobile responsive layout with Tailwind CSS
@MarvyNwaokobia MarvyNwaokobia changed the title feat: Implement pause/resume endpoints and incoming streams page (closes #414, #416) feat: build incoming streams page and wire stream action APIs Apr 29, 2026
@ogazboiz ogazboiz merged commit 9b2fd51 into LabsCrypt:main Apr 29, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Frontend] Build incoming streams page [Backend] Wire pause and resume endpoints to Soroban contract

2 participants