You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Troubleshooting #11260 (comment) I've found several related problems:
TransformWithInlineUpdate()here doesn't seem to be working as expected. It still recreates instances of WalletModel objects for the same wallets when it shouldn't. This is the root cause of @molnard's issue of not retaining the volatile WalletSettingsModel.IsCoinjoinPaused flag.
I've tried to workaround this here, creating a static dictionary that will hold the WalletModel instances, and while it is a horrible workaround, it seems to have fixed the lifetime problems. We still need to figure out why TransformWithInlineUpdate() isn't working as expected.
After this change, wallets are no longer reporting the exchange rate:
This is due to the fact that WalletModels are created before Wallets are initialized, and therefore Wallet.Synchronizer is null at this point.
I've tried to fix that, unsuccessfully, by making ExchangeRateProvider aware of the Wallet.State, but so far I haven't managed to make it work properly. hand-crafted IObservable<decimal> are not fired by the UI for reasons I still haven't figured out.
Besides that, I'm not sure what other implications there might be to changing the lifetime of WalletModel objects.
The text was updated successfully, but these errors were encountered:
Troubleshooting #11260 (comment) I've found several related problems:
TransformWithInlineUpdate()
here doesn't seem to be working as expected. It still recreates instances ofWalletModel
objects for the same wallets when it shouldn't. This is the root cause of @molnard's issue of not retaining the volatileWalletSettingsModel.IsCoinjoinPaused
flag.I've tried to workaround this here, creating a static dictionary that will hold the
WalletModel
instances, and while it is a horrible workaround, it seems to have fixed the lifetime problems. We still need to figure out whyTransformWithInlineUpdate()
isn't working as expected.After this change, wallets are no longer reporting the exchange rate:
This is due to the fact that
WalletModel
s are created before Wallets are initialized, and thereforeWallet.Synchronizer
is null at this point.I've tried to fix that, unsuccessfully, by making
ExchangeRateProvider
aware of theWallet.State
, but so far I haven't managed to make it work properly. hand-craftedIObservable<decimal>
are not fired by the UI for reasons I still haven't figured out.Besides that, I'm not sure what other implications there might be to changing the lifetime of
WalletModel
objects.The text was updated successfully, but these errors were encountered: