- Implement Priority 1 E2E test coverage for critical user journeys:
* Group lifecycle management (creation, navigation, editing)
* Basic expense management (create, view, edit, delete)
* Balance calculation and verification
* Multiple expense scenarios and split calculations
- Add comprehensive reliability infrastructure:
* ReliabilityUtils class with retry mechanisms and enhanced navigation
* Page Object Model (POM) architecture for maintainable tests
* Test data management utilities with unique identifiers
* Enhanced Playwright configuration with increased timeouts and retries
- Fix all flaky test issues:
* Add required test IDs to UI components for reliable element targeting
* Implement multiple fallback strategies for element selection
* Enhanced tab navigation with URL verification and retry logic
* Proper wait strategies for network idle states and dynamic content
- Test results: 39/39 tests passing (100% success rate) across all browsers
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create CLAUDE.md with project commands and code style guidelines
- Add detailed E2E testing plan in prds/add-e2e-tests.md covering:
- Priority-based testing strategy for critical user workflows
- Implementation constraints requiring only test ID additions
- Mandatory test validation workflow with npm run test:e2e
- Test coverage for expense splitting, balance tracking, and group management
- Remove CRUSH.md (replaced by CLAUDE.md)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update group header component to include data-testid for improved test targeting
and update Page Object Model to use the more reliable test ID selector.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added Playwright configuration for automated and visual E2E tests
- Updated Next.js configuration to accept localhost:3003 for testing
- Included Playwright as a dev dependency
💘 Generated with Crush
Co-Authored-By: Crush <crush@charm.land>
* add id property to manifest for identity of PWA
* add multiple sizes high quality pngs with transparent background to support multiple sizes
* delete unused png
* Added computed expenses per balance to fix#127
* add missing import that got lost during merge
* if we are in percentage mode or amount mode, the shares have to be multiplied by 100
This will replace the `sh` process from the container entrypoint with the node process as PID 1, to properly handle SIGTERM signals and gracefully shut down the container.
Currently, `sh` will intercept any signals and not forward them to node, leaving the container in the terminating state before docker force kills it after the 10s grace period. This means that db connections won't be closed and that requests will get interrupted during shutdown.
* install json2csv package
* add necessary labels
* add support convert the JSON to redable CSV format and export
* add a popover to export btton and provide options for exporting to JSON and CSV
* Use a DropdownMenu
* Translations
---------
Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
* feat(expense-list): Display the attachment count only when the expense includes attachments
* handle attachments - singular & plural
* move documents count between amount and date
* Remove label
* Use document count only instead of whole document list
---------
Co-authored-by: Sebastien Castiel <sebastien@castiel.me>