Skip to content

GUI: Prevent partial asset overview refresh - #1320

Open
Tabakkui wants to merge 1 commit into
RavenProject:developfrom
Tabakkui:fix/issue-617-asset-overview
Open

Tabakkui wants to merge 1 commit into
RavenProject:developfrom
Tabakkui:fix/issue-617-asset-overview

Conversation

@Tabakkui

Copy link
Copy Markdown

Problem

When the asset overview refreshes while metadata for a newly received asset is temporarily unavailable, AssetTablePriv::refreshWallet() clears the current model and appends rows while iterating the alphabetically ordered balances. The metadata lookup can then return early, leaving only the prefix processed before the missing asset visible. This matches issue #617's report of the list stopping at the newly registered asset's letter.

Approach

Build the refreshed asset rows in a temporary list and assign it to cachedBalances only after the complete balance iteration succeeds. A transient metadata lookup failure therefore preserves the last complete overview instead of exposing a partial list. A successful refresh, including an empty balance set, still replaces the cached snapshot.

Test plan

  • git diff --check
  • python3 -m unittest -v tests/issue_617_asset_overview_test.py — 3 tests passed, including a structural regression assertion and a transient metadata-gap simulation
  • python3 -m py_compile tests/issue_617_asset_overview_test.py
  • Full Qt build and GUI test not run: this ARM64 checkout has no configured build tree or Qt5 development packages; the authorized PC build remains required.

Fixes #617

Asset metadata can be temporarily unavailable while a newly received asset is being indexed. The old refresh cleared the model and appended rows directly, so an error left only the alphabetic prefix processed before the missing metadata. Build a replacement snapshot and publish it only after every balance has been processed, preserving the last complete view during the transient gap.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant