Skip to the content.

๐Ÿ“ Changelog v1.1.0 - Bill Split & E2E Testing

Date: 2025-11-29
Status: Development


๐Ÿ†• New Features

1. Bill Split Feature (Splitwise-style)

New Files:

Key Capabilities:

Dependencies Added (pubspec.yaml):

flutter_contacts: ^1.1.9+2      # Contact picker for participants
permission_handler: ^12.0.0+1   # Permission management
image_picker: ^1.2.1            # Camera/Gallery image selection
google_mlkit_text_recognition: ^0.15.0  # On-device OCR

2. E2E Testing Infrastructure

New Files:

Testing Strategy:

1. Playwright tests (browser) โ†’ 2. Patrol tests (device) โ†’ 3. Deploy

Unit Tests Added (14 tests):


๐Ÿ”ง Modified Files

Routing (app/lib/core/routing/)

Money Feature (app/lib/features/money/)

Chess Game (app/lib/features/games/)

New Platform-specific Files:

Build Configuration

Generated Plugin Registrations (Auto-generated)


๐Ÿ“‹ Makefile Commands Added

# E2E Testing
make test-e2e              # Run all E2E tests (browser + device)
make test-browser          # Run Playwright browser tests
make test-browser-headless # Run headless (CI)
make test-browser-debug    # Debug with Playwright UI
make test-browser-report   # Show test report
make test-device           # Run Patrol device tests
make test-device-android   # Android only
make test-device-ios       # iOS only
make run-chrome-html       # Flutter Web with HTML renderer
make setup-e2e             # Setup all E2E dependencies

๐Ÿงช Test Coverage

Component Tests Status
Receipt Parser (Instamart) 9 โœ… Pass
WhatsApp Message Generation 3 โœ… Pass
Per-user Total Calculation 2 โœ… Pass
Total 14 โœ… All Pass

๐Ÿ“ฆ New Dependencies

Package Version Purpose
flutter_contacts ^1.1.9+2 Contact picker
permission_handler ^12.0.0+1 Runtime permissions
image_picker ^1.2.1 Camera/Gallery
google_mlkit_text_recognition ^0.15.0 On-device OCR

Transitive Dependencies Added:


๐Ÿš€ How to Use

Bill Split

  1. Go to Coins tab โ†’ Split Bill
  2. Add participants
  3. Click Split by items โ†’ Upload Receipt
  4. OCR scans and extracts items
  5. Assign items to participants
  6. Confirm and copy summary for WhatsApp

Run Tests

# Unit tests
cd app && flutter test test/features/bill_split/

# Playwright browser tests
make run-chrome-html  # Terminal 1
make test-browser     # Terminal 2

# Patrol device tests
make test-device

๐Ÿ“Œ Git Summary

Modified: 15 files
New (Untracked): 13 files/directories

M  Makefile (+52 lines)
M  app/android/app/src/main/AndroidManifest.xml (+3 lines)
M  app/lib/core/routing/app_router.dart (+8 lines)
M  app/lib/core/routing/route_names.dart (+3 lines)
M  app/lib/features/games/domain/services/chess_engine.dart (+5 lines)
M  app/lib/features/games/domain/services/real_chess_engine.dart (+2 lines)
M  app/lib/features/games/presentation/flame/chess_game.dart (+6 lines)
M  app/lib/features/money/presentation/screens/money_overview_screen.dart (+105 lines)
M  app/pubspec.yaml (+4 dependencies)
+  Auto-generated plugin registrations (6 files)