Skip to content

main to staging - #103

Merged
ryleedavis merged 4 commits into
stagingfrom
main
Sep 30, 2022
Merged

ryleedavis merged 4 commits into
stagingfrom
main

Conversation

@ryleedavis

Copy link
Copy Markdown
Contributor

No description provided.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #103 (6b45fa5) into staging (76b12bc) will decrease coverage by 5.32%.
The diff coverage is 10.25%.

@@             Coverage Diff             @@
##           staging     #103      +/-   ##
===========================================
- Coverage    35.40%   30.08%   -5.33%     
===========================================
  Files          105      107       +2     
  Lines        14390    17065    +2675     
===========================================
+ Hits          5095     5134      +39     
- Misses        9295    11931    +2636     
Impacted Files Coverage Δ
lib/services/coins/firo/firo_wallet.dart 57.70% <0.00%> (ø)
lib/utilities/text_styles.dart 1.71% <0.00%> (+1.71%) ⬆️
lib/utilities/theme/color_theme.dart 3.33% <ø> (-0.67%) ⬇️
lib/services/wallets_service.dart 53.60% <20.00%> (-0.89%) ⬇️
lib/utilities/theme/stack_colors.dart 18.47% <20.00%> (-0.23%) ⬇️
lib/utilities/theme/light_colors.dart 100.00% <100.00%> (ø)
...ib/widgets/custom_buttons/app_bar_icon_button.dart 51.61% <0.00%> (-7.65%) ⬇️
lib/utilities/address_utils.dart 54.23% <0.00%> (-7.31%) ⬇️
lib/utilities/constants.dart 2.85% <0.00%> (-0.72%) ⬇️
... and 15 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@ryleedavis
ryleedavis merged commit fbfe944 into staging Sep 30, 2022
sneurlax added a commit to sneurlax/stack_wallet that referenced this pull request Nov 10, 2026
refresh() in the Monero, Wownero and Salvium wallets acquires refreshMutex
and released it only on the success path. Anything thrown after the acquire
(the Tor and clearnet mismatch check, or wallet being null because open()
failed) left the lock held for the rest of the session. Later refreshes
returned early on the isLocked check and recover()'s refreshMutex.protect
waited forever, which is the stuck rescan dialog in stack-wallet cypherstack#103.

The body now runs under refreshMutex.protect, which releases in a finally
and rethrows, the same way the other wallets and recover() in these files
already use it. That makes the release-at-100% workaround in onSyncingUpdate
redundant, so it is gone from all three wallets. In the Monero wallet
highestPercentCached is reset on both sides of rescanBlockchain: before it,
so a throw leaves the guard at zero, and after it, so a progress reading
from before the rescan cannot be ordered after the reset. Wownero and
Salvium call rescanBlockchain unawaited, so the second reset would change
nothing there and they keep their order.

This is the wallet-layer part of the closed PR cypherstack#1490, taken on its own.
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.

3 participants