Implement Skip Sync and Data Saving features
Logic:
- Add 'Skip to Tip', 'Date Range', and 'Full Sync' engine to libwalletqt
- Implement 'Scan Transaction' functionality for specific TXIDs
UI:
- Add context menu actions to bottom bar for selective sync
- Display block-depth count in status bar, courtesy of @masflam
bounty claimed here (as "mr_overquald")
https://bounties.monero.social/posts/79/1-230m-add-a-skip-sync-feature-to-a-monero-wallet
bigger scan Tx window
fix transaction diaglogue sizing
tidy estimatedBytes
use simple QDialog for transaction Scan window
rename to syncPause
properly dispose of QThreadStorage disposal
$ ./build/bin/feather --version
FeatherWallet
2.8.1-79-g16eec531
QThreadStorage: entry 2 destroyed before end of thread 0x562e3e2b3b90
QThreadStorage: entry 1 destroyed before end of thread 0x562e3e2b3b90
improvements in status bar
better sync status
trying to get status always updated
put into helper method
refactor bool importTransaction()
fix p1: full sync bug & mutex
fix file close cache bug
more lint fixes; start blocks instead of time
simplify status bar to block count, not download size/time
fix sync 1000 block even when paused bug
hide all widgets on minimize; respect log level
show "[PAUSED] x Blocks to go" on Connecting Status, too
Fetch initial heights so UI can update even if paused
info log: m_walletImpl->refresh() with walletHeight
fix: calc daemon height if 0 to show wallet depth
update icon for paused state
muzzle WebSocket when in pause mode
track and emit network/pause status
log block/daemon/wallet updates for ref
QPointer<QAction> m_updateNetworkInfoAction;
no background sync when paused; allow autoReconnect() on non-onion nodes
abstract out blocksBehind() method
show m_lastSyncStatusUpdate in label and debug log
drop minimize delay from 500 ms to 350 ms
m_actionDisconnectNodeOnPause, m_actionDisconnectWebSocketOnPause
log and special status for pauseSync disc node
disable Network Update Info when node disconnected
place disconnectCurrentNode outside connectToNode
parse cmdline args BEFORE initing UI libs
only disconnect WebSocket on pause when also selected
disconnect node when user explicitly requests
parse args start index=1, not 0 (skip script/exec name)
fix bug in m_updateNetworkInfoAction
disable context menu conditioanlly; conceal sus $0.00 bal
rename to FeatherWallet
better balance (based on wallet status and sync pause status)
fix translucent mis-match
make old policy conditional on configuration
fix: m_updateNetworkInfoAction was active when sync Disabled
show full amount when zero in balance label
fix annoying WebSocket close warning:
WindowManager: cleanup thread done 0x7cca7efdbec0
~Application
~WebsocketNotifier 0x7cca7efdbec0
QObject::startTimer: Timers can only be used with threads started with QThread
handle Calc page logic better now with new flags
add dedicated SyncRangeDialog
better reconnect logic/less network & log spam
track time since: last sync and last fiat update
tooltip simplifications/methods
some more simplifications to status/label/fiat updates
move sync interval to node page; add more config keys
status/balance and HW backed wallet fixes
fix autoConnect() spam/fail bug
update last refresh/sync pause logic status
fix data race/logic bug with refresh interval
get last sync
connect after scan Tx