* feat: background sync improvements
- dev options on ci build cherrypick
- add permissions for background sync to AndroidManifestBase
- enable desugaring + update java compatibility to 17
- update walletconnect_flutter_v2
- update ens_dart
- update nostr_tools
- add notification for new transactions found in background
- expose more settings from flutter_daemon in UI
- remove battery optimization setting when it's already disabled
- fix notification permission handling
- fix background sync last trigger saving
- prevent notifications from being duplicated
* potential fix for multiple notifications firing for the same tx
* improve logging in background sync
* ui improvements to ignore battery optimization popup
* feat: logs for bg sync
disable decred bgsync
* fix: call store() directly to be sure that it is writing the data
* chore: rename logs to background sync logs
* Update lib/view_model/dashboard/dashboard_view_model.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* chore: remove unused key
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* - enabled development options in CI builds.
- Implemented caching for account retrieval.
- refactor transaction handling in `dashboard_view_model.dart` to improve efficiency and reduce unnecessary updates in xmr.
- `DevMoneroCallProfilerPage`, for profiling performance of xmr,wow,zano wallet calls.
* use FeatureFlag.hasDevOptions
* prevent crashes in monero_c by using mutexes properly
improve performance of _transactionDisposer
remove unnecessary checks
* remove logging, bring back simplified logic
* update _transactionDisposer on length and confirmation of first and last transaction
* address comments from review
* don't throw unhandled exceptions in unawaited async code
* use cached transaction list in getAllSubaddresses, fix usage of txHistoryMutex
* [DNM] fix: crashes when opening wallet, performance issue when syncing and update dependencies
* Revert "use cached transaction list in getAllSubaddresses, fix usage of txHistoryMutex"
This reverts commit 4c4c33ac6a47603e970a6c8d940e90204525b241.
* Revert "[DNM] fix: crashes when opening wallet, performance issue when syncing and update dependencies"
This reverts commit d7603445ad6ae76d76bf179c34728ce242c8c610.
* Revert "use cached transaction list in getAllSubaddresses, fix usage of txHistoryMutex"
This reverts commit 4c4c33ac6a47603e970a6c8d940e90204525b241.
* update shared_preferences
* improve state management performance by not rendering multiple changes in transaction screen on a single frame
* fix wallet switching
* Implement background sync for xmr using flutter_daemon
* - initialize app config in background thread
- initializeAppConfigs without loading the wallet.
* - properly do awaited calls in methodChannel
- prevent locking main thread during background sync
* add back background sync debug page
fix issues caused by xmr wallet being view only (and read only)
* changes from review
improve starting of bgsync task
* update stopBackgroundSync, await listener functions, ensure that listener always start (call _start in constructor)
* DO-NOT-MERGE: extre verbose monero logs
* stop background service when app is being opened
* improve monitoring of background sync
* update flutter_daemon to ensure network constraint
prevent throwing errors on isBackgroundSyncEnabled
check network before syncing
* Update lib/main.dart
* revert Update main.dart [skip ci]
* continously run network check
* disable charging requirement,
fix status reporting of background sync in UI
* Refactor background sync logic, and add UI notifications for battery optimization. Updated flutter_daemon version modified build.gradle for signing config to allow testing in both release and debug modes.
* verbose monero only when requested in code.
Do not start background sync when battery optimization is on
* fix background sync mode not properly reflecting state changes
* drop unnecessary dependency
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Remove StandardListSeparator from Security and backup page
* Remove StandardListSeparator from Connection and sync page
* Remove StandardListSeparator from Other settings page
* Run Monero Synchronization task in background on Android
* Add monero sync task in the load function to be registered/cancelled when user changes wallets
* Revert unused file changes
* Register Sync task on all monero wallets if any
* Add Sync Modes and change task frequency based on user's choice
* Register background task after current wallet is set
* Add Sync All toggle and change task wallets to sync accordingly
* Enable background notifications in release mode temporarily
* Disable constraints and increase the frequency of tasks
* Decrease frequency of background tasks
* Delay the background task thread till the syncing thread finish (Dummy Trial-1)
* Start Sync process and wait for it to finish
* Wait for synchronization to finish before ending the background thread
Add 10 minutes timeout duration for sync process
* Connect to node before syncing wallet
* replace testing configuration with the configurations agreed on
* Fix Conflicts with main
* Update and Migrate Background tasks to null safety
* Update workmanager version in pubspec_base also
* Move Sync options to Connection and sync page
Show Sync options only for Monero and Haven
Minor Enhancements
* Remove debugging notifications
Revert aggressive mode frequency to 6 hours [skip ci]
* Add iOS configs
* Revert debugging changes
Fix conflicts with main
* Add/Extract Sync configurations to/from backup file [skip ci]