fix(lite): drop the 15 s startup overlay and a TLS connection per refresh
- The refresh-model mapper marks the encryption state known when the backend reports it. The wallet tabs wait for that, so every Lite launch sat behind the loading overlay until the 15 s "assume unencrypted" fallback. - Each 2 s refresh skips the backend's `info` (a fresh TLS connection and GetLightdInfo, only a fallback for the chat tip, which the explicit height call already provides) and the gateway's `height` (replaced by that explicit call, which runs after the sync commands so it sees the newest block). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -239,9 +239,12 @@ void applyLiteRefreshModelToWalletState(const LiteWalletAppRefreshModel& model,
|
||||
}
|
||||
|
||||
if (model.hasEncryptionStatus) {
|
||||
// Reflect backend encryption state so isLocked()/isEncrypted() gate the UI correctly.
|
||||
// Reflect backend encryption state so isLocked()/isEncrypted() gate the UI correctly, and mark
|
||||
// it known: the wallet tabs wait for that, and without it lite always sat behind the loading
|
||||
// overlay until its 15 s "assume unencrypted" fallback.
|
||||
state.encrypted = model.encrypted;
|
||||
state.locked = model.locked;
|
||||
state.encryption_state_known = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -744,6 +747,11 @@ std::optional<LiteWalletAppRefreshModel> LiteWalletController::refreshModel()
|
||||
|
||||
// Synced: full refresh (balance/addresses/transactions are fast now).
|
||||
LiteWalletRefreshRequest request;
|
||||
// Skip `info` (a fresh TLS connection + GetLightdInfo every cycle, and only a fallback for the chat
|
||||
// tip, which the height below already provides) and the gateway's `height` (the explicit call after
|
||||
// the refresh replaces it, and runs after the syncing commands so it sees the newest block).
|
||||
request.includeInfo = false;
|
||||
request.includeHeight = false;
|
||||
if (syncResult.ok) {
|
||||
request.haveSyncStatus = true;
|
||||
request.syncStatus = syncResult.syncStatus;
|
||||
|
||||
Reference in New Issue
Block a user