Skip to content

feat(history): add filterable cursor-paginated history view with CSV … - #920

Open
Sirbeejay16 wants to merge 4 commits into
StayLitCodes:mainfrom
Sirbeejay16:feat/history-view-filters-cursor-csv
Open

Sirbeejay16 wants to merge 4 commits into
StayLitCodes:mainfrom
Sirbeejay16:feat/history-view-filters-cursor-csv

Conversation

@Sirbeejay16

@Sirbeejay16 Sirbeejay16 commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

PR description

Summary

Users had no way to review past activity beyond an offset-paginated table with limited filters.
This adds a history view with status, asset, date and text-search filters, cursor-based "Load
more", and CSV export of the whole filtered set. The /events API gains opt-in cursor
pagination to support it.

Changes

  • apps/backend list-events.dto.ts: add paginate, status, assetCode and search params
  • apps/backend escrow.service.ts: keyset pagination on the event cursor (limit+1 lookahead,
    nextCursor, hasMore)
  • apps/backend event-history-query.util.ts (new): cursor validation, LIKE escaping, status,
    asset and search filters
  • apps/frontend lib/history-filters.ts (new): URL parse and serialize, API query mapping,
    fetchAllFilteredEvents for export
  • apps/frontend hooks/useTransactionHistory.ts (new): useInfiniteQuery over the cursor API
  • apps/frontend app/transactions/page.tsx: URL-persisted filters, search, Load more, loading,
    empty and error states, CSV export
  • apps/frontend lib/escrow-api.ts: fetchEvents supports the new params and response fields
  • docs/transaction-history.md, README.md: documentation

Testing

  • Backend: new event-history-query.util.spec.ts (11 tests); escrow module suites pass

  • Frontend: new history-filters.test.ts and transactions page.test.tsx covering URL round trip, cursor walk, empty, error and retry, Load more, and CSV export; full suite 26 suites / 238 tests pass

  • tsc and eslint clean on changed files

    this closes [Frontend] Transaction history page with filters, search and CSV export (150) #835

…export

- backend: add opt-in cursor pagination (paginate=cursor, nextCursor,
  hasMore) and status, assetCode and search filters to GET /events
- frontend: rebuild /transactions with URL-persisted filters, debounced
  search, Load more, and loading, empty and error states
- frontend: export the full filtered set as CSV by walking all cursor pages
- fix event type filter values to match the backend lowercase enum
- docs: add transaction-history guide and README link

Refs: #<issue>

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@drips-wave

drips-wave Bot commented Oct 17, 2026

Copy link
Copy Markdown

@Sirbeejay16 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Cedarich

Copy link
Copy Markdown
Contributor

@Sirbeejay16

@Sirbeejay16 Sirbeejay16 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review

@Cedarich

Copy link
Copy Markdown
Contributor

@Sirbeejay16

@Sirbeejay16

Copy link
Copy Markdown
Contributor Author

@Cedarich Done finally

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] Transaction history page with filters, search and CSV export (150)

2 participants