cashumit/COMMIT_MESSAGE.txt

35 lines
1.5 KiB
Plaintext

feat: remove default account mapping and implement offline-first account mirroring
This commit removes the confusing default account mapping feature and implements a more reliable offline-first account mirroring system. The changes include:
BREAKING CHANGES:
- Remove all default account mapping functionality (saveDefaultAccount, getDefaultAccount, etc.)
- Simplify account selection to use direct account choice instead of default mapping
FEATURES:
- Implement account mirroring system that stores all FireFly III accounts locally
- Add offline-first approach: server accounts > mirrored accounts > fallback
- Automatic account sync when connection is available
- Manual sync capability in config screen
- Enhanced offline reliability - app works completely without server connection
IMPROVEMENTS:
- Faster startup times using local account cache
- More predictable account selection behavior
- Reduced confusion about which accounts are being used
- Better error handling for offline scenarios
- Simplified architecture without complex default mapping logic
FILES CHANGED:
- lib/services/account_cache_service.dart
- lib/providers/receipt_provider.dart
- lib/screens/transaction_screen.dart
- lib/screens/config_screen.dart
- lib/services/account_dialog_service.dart
- lib/services/receipt_service.dart
- lib/services/local_receipt_service.dart
- lib/screens/receipt_screen.dart
- PROJECT_CONTEXT.md
The application now works reliably in offline mode with mirrored accounts and maintains functionality when server is unavailable.