feat: Web UI enhancements, transactions API, and Playwright CI#10
Merged
eshaffer321 merged 13 commits intomainfrom Jan 2, 2026
Merged
feat: Web UI enhancements, transactions API, and Playwright CI#10eshaffer321 merged 13 commits intomainfrom
eshaffer321 merged 13 commits intomainfrom
Conversation
- Add ProgressUpdate type and ProgressCallback to sync Options - Update simple and walmart handlers to report progress during sync - Wire progress updates through sync service to job progress - Preserve TotalOrders count when completing jobs - Use context.Background() for background sync jobs to prevent HTTP request cancellation from stopping sync jobs This enables real-time progress tracking in the web UI during sync operations.
- Add TransactionsHandler with List and Get endpoints - Add comprehensive DTO types for transactions, merchants, categories, and splits - Wire up /api/transactions routes in server - Support pagination, search, date range filtering, and pending filter
- Add ChargedAt field to ledger charges for payment timing tracking - Add ChargedDates to PaymentMethod for multi-delivery orders - Fix storage migration and model updates for charged_at column - Update go.mod dependencies - Minor CLI improvements
- Add dedicated /sync/[jobId] page showing job progress in real-time - Add CollapsibleSection component for expandable order details - Update sync page to show job status and link to detail view - Extend API client with getSyncJobOrders function - Add comprehensive types for sync job orders and progress
- Extract OrdersTable to client component with client-side sorting - Extract SyncRunsTable to client component with sorting support - Enhance table.tsx with SortableTableHead utility component - Remove unused confidence-badge.tsx component - Add Transactions link to sidebar navigation - Update order detail page with improved layout
- Add transactions list page with pagination and filtering - Add transaction detail page showing splits and metadata - Add TransactionsTable client component with sorting - Support search, date range, and pending filters
- Update navigation tests for new page structure - Add ledger spec tests - Add sync job detail and phase tests - Update sync, search, and date filter tests - Update package.json dependencies
- Add API server and Web UI documentation - Add Playwright E2E test instructions - Update project status to include Web UI - Add frontend architecture documentation
- Ignore E2E screenshots directory - Ignore icon analysis markdown files - Ignore theme-aware SVG artifacts
- Run on push/PR to main/develop when web/ changes - Install Chromium browser only (matching playwright.config.ts) - Build Next.js before running tests - Upload playwright-report artifact on completion - Upload test-results on failure for debugging
- Remove incomplete CategorySplitterWithDetails interface references - Remove unimplemented SplitDetails field and related test code - Add ChargedDates field to PaymentMethodData for Walmart ledger support - Add time import to amazon.go
The component was accidentally deleted but is still used by orders/page.tsx.
- Build Go backend before running E2E tests - Start backend server on port 8085 in background - Add continue-on-error: true for graceful failure handling - Skip tests tagged @backend (requiring full API auth) - Set NEXT_PUBLIC_API_URL environment variable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds several enhancements to the web UI and API:
/api/transactionsendpoint for fetching Monarch Money transactions with pagination, search, and filtering/sync/[jobId]page showing live sync progress and order detailsBackend Changes
Frontend Changes
/sync/[jobId]detail page with real-time progress/transactionslist and detail pagesTesting & CI
Test plan
go test ./...)