Open vkjr opened 1 week ago
:grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
---|---|---|---|---|---|---|
:heavy_check_mark: | 205271ff | #17 | 2024-11-25 16:55:07 | ~4 min | tests |
:page_facing_up:log |
:heavy_check_mark: | e43a0fb4 | #18 | 2024-11-25 17:01:01 | ~4 min | tests |
:page_facing_up:log |
:heavy_check_mark: | e43a0fb4 | #18 | 2024-11-25 17:03:48 | ~7 min | android |
:robot:apk :calling: |
:heavy_check_mark: | e43a0fb4 | #18 | 2024-11-25 17:04:34 | ~8 min | android-e2e |
:robot:apk :calling: |
:heavy_check_mark: | e43a0fb4 | #18 | 2024-11-25 17:05:28 | ~8 min | ios |
:iphone:ipa :calling: |
hi @vkjr could you please rebase and resolve existing conflicts? thanx
Total executed tests: 8
Failed tests: 2
Expected to fail tests: 1
Passed tests: 5
IDs of failed tests: 727231,740490
IDs of expected to fail tests: 702843
1. test_wallet_add_remove_regular_account, id: 727231 |
``` critical/test_wallet.py:255: in test_wallet_add_remove_regular_account self.wallet_view.add_regular_account(account_name=new_account_name) ../views/wallet_view.py:161: in add_regular_account self.add_account_button.click() ../views/base_element.py:90: in click element = self.find_element() ../views/base_element.py:79: in find_element raise NoSuchElementException( Device 1: Button by accessibility id: `add-account` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception ``` |
2. test_wallet_balance_mainnet, id: 740490 |
``` critical/test_wallet.py:220: in test_wallet_balance_mainnet self.sign_in_view.wallet_tab.click() ../views/base_element.py:90: in click element = self.find_element() ../views/base_element.py:79: in find_element raise NoSuchElementException( Device 1: WalletTab by accessibility id: `wallet-stack-tab` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception ``` |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_wallet_send_asset_from_drawer, id: 727230 |
2. test_wallet_send_eth, id: 727229 |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
Device sessions Device 1: |
@VolodLytvynenko, conflicts resolved
Hi @vkjr thank you for PR. Take a look at found issue
The balances are not updated. (see on screen. 26 USDT estimated as 26 RUB)
Fiat is converted to the selected one
IOS, Android
@vkjr - we need to update the following event as well. Fetch only the prices and market values on currency change.
@VolodLytvynenko, thanks for finding, will fix it.
@smohamedjavid, thanks! I believe this should already work because :wallet/get-wallet-token-for-all-accounts
will trigger :wallet/get-wallet-token-for-account
and when that calls succeeded fetching of prices and market values will be triggered. Or do you mean something else?
@smohamedjavid, thanks! I believe this should already work because
:wallet/get-wallet-token-for-all-accounts
will trigger:wallet/get-wallet-token-for-account
and when that calls succeeded fetching of prices and market values will be triggered. Or do you mean something else?
@vkjr - I meant we call the wallet/get-wallet-token-for-all-accounts
event in the profile.settings/update-currency
event because the currency prices have been nested inside the token data, and we had to fetch again for any other selected currency (including USD - handled by status-go).
With these PR changes, we can fetch only token prices and market values for the selected currency and USD instead of the whole token data because if the user casually changes the currency multiple times, it will request the whole token data for all those times (pretty heavy for mobile).
@smohamedjavid, ah, now I see your point, thanks!
@VolodLytvynenko, fixed the issue, could you please check? Thanks!
Total executed tests: 8
Failed tests: 1
Expected to fail tests: 1
Passed tests: 6
IDs of failed tests: 727230
IDs of expected to fail tests: 702843
1. test_wallet_send_asset_from_drawer, id: 727230 |
``` critical/test_wallet.py:189: in test_wallet_send_asset_from_drawer self.errors.verify_no_errors() base_test_case.py:192: in verify_no_errors pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))])) Sender balance is not updated on Etherscan, it is 0.3601 but expected to be 0.3602 ``` |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
Device sessions Device 1: |
1. test_wallet_send_eth, id: 727229 |
Hi @vkjr Hi @vkjr, unfortunately, the issue is still reproducible. However, it only occurs after re-login or when the app returns from the background.
Balances are displayed in USD instead of the selected fiat currency. Correct fiat conversion occurs only after a manual wallet refresh.
https://github.com/user-attachments/assets/b1c348c5-7732-47c2-8888-6996637c5338
Fiat is converted to the selected one
IOS, Android
@ilmotta, thanks for the review notes, they are addressed
@VolodLytvynenko, issue fixed, could you please check one more time? 🙏
Total executed tests: 8
Failed tests: 0
Expected to fail tests: 1
Passed tests: 7
IDs of expected to fail tests: 702843
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
Device sessions Device 1: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_wallet_send_asset_from_drawer, id: 727230 |
2. test_wallet_send_eth, id: 727229 |
fixes #20473
Summary
GetWalletToken
endpoint instatus-go
was replaced byFetchOrGetCachedWalletBalances
Visible impact - when user drags down wallet screen and triggers refresh, it happens much quicker - fraction of second instead of few seconds.Review notes
Deprecated
GetWalletToken
function was packing a big chunk of information together - not only token balances but also their prices and market values. That resulted in data duplication - inside tokens we had the same information about prices and market values as we already have in re-frame db under[:wallet :tokens :prices-per-token]
and[:wallet :tokens :market-values-per-token]
. Moreover, in time that information became out of sync, because data under[:wallet :tokens ...]
never updated after wallet initialisation while data inside token structure updated regularly.This PR replaces the endpoint and removes the data duplication.
Token structures fetched with
FetchOrGetCachedWalletBalances
do not have information about prices and market values. But this information can be found under[:wallet :tokens :prices-per-token]
and[:wallet :tokens :market-values-per-token]
, so big amount of small changes is a result of necessity to pass another structures with prices and market values apart from token itself.When
FetchOrGetCachedWalletBalances
finishes successfully we now additionally request prices and market values for those tokens that exist in wallet to have an up-to-date data after user triggered refresh.Testing notes
From user perspective this PR should't change anything except the speed of wallet refresh when user drags screen down. It is faster now.
Platforms
Areas that maybe impacted
Functional
Steps to test
status: ready