Data Saving Mode Feature#280
Open
AtencionEsTodoNecesitas wants to merge 7 commits intofeather-wallet:masterfrom
Open
Data Saving Mode Feature#280AtencionEsTodoNecesitas wants to merge 7 commits intofeather-wallet:masterfrom
AtencionEsTodoNecesitas wants to merge 7 commits intofeather-wallet:masterfrom
Conversation
This implements a comprehensive data saving mode for Feather Wallet to help users save mobile data and time when they haven't received Monero since last opening. Features implemented: - Data Saving Mode toggle in Settings > Transactions - Skip Sync: Jump to current blockchain height without syncing - Sync Dates: Sync a specific date range using date pickers - Full Sync: Perform normal synchronization - Auto-sync can be disabled when Data Saving Mode is enabled Technical changes: - Added Config::dataSavingMode configuration key - Extended Wallet class with skipSync(), syncFromHeight(), and syncDateRange() methods - Created SyncDatesDialog for date range selection - Added Sync Options submenu under Wallet > Advanced menu - Connected settings signals through WindowManager to MainWindow - Block height estimation based on Monero's ~2 minute average block time Benefits: - Can save 500+ MB of mobile data when skipping sync - Saves 30+ minutes of waiting time for users in areas with expensive/limited data - Useful for brick-and-mortar payments and cash-in-person trades - Maintains full wallet functionality when sync is needed
The issue was that skipSync() was calling startRefresh() which re-enabled continuous auto-refresh even when Data Saving Mode was on. Fixes: - Check Data Saving Mode on wallet open and pause refresh if enabled - skipSync() now only triggers a single refresh (m_refreshNow) instead of enabling continuous refresh via startRefresh() - Added informative dialog when Data Saving Mode is toggled on - Improved status messages for better user feedback - syncFromHeight() and syncDateRange() still use startRefresh() as they need continuous sync until caught up This ensures that when Data Saving Mode is enabled, the wallet stays paused after using Skip Sync, and only syncs when explicitly requested.
sync without modifying monero code, plus fixed Data Saver Mode toggle in settings
Improvements: - Data Saving Mode now properly pauses sync without downloading blocks - Fixed connection status handling when toggling DS mode on/off - Removed Skip Sync button (cannot interrupt running Monero refresh) - Full Sync and Sync Dates auto-disable DS mode before syncing - Added automatic node switching after 5 consecutive height failures - Fixed race condition causing 'Connecting' status in DS mode - Store original wallet creation height for Full Sync feature - Prevent Tor auto-reconnection when connection is already active - Clean implementation following original Feather design patterns Features: - Data Saving Mode: Prevents automatic blockchain sync to save bandwidth - Full Sync: Syncs from last sync date to current (approx 500 MB) - Sync Dates: Sync specific date ranges with DS mode auto-disabled - Auto node failover for improved reliability
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.
This PR adds a Data Saving Mode feature to help users reduce bandwidth usage by preventing automatic blockchain synchronization.
More info : add-a-skip-sync-feature-to-a-monero-wallet
Features Added
1. Data Saving Mode
2. Full Sync
3. Sync Dates
Technical Implementation
Use Cases
Testing
Tested on Debian 10 with Qt6, multiple node types (clearnet and .onion), and various sync scenarios.