status-im / status-mobile

a free (libre) open source, mobile OS for Ethereum
https://status.app
Mozilla Public License 2.0
3.91k stars 984 forks source link

Testing different go changes required for release 2.31 #21445

Closed pavloburykh closed 1 month ago

pavloburykh commented 1 month ago

PR is created to test 806b2587dbbc6730129bab84689559895c3dcaf2 commit which includes following changes:

https://github.com/status-im/status-go/pull/5950 https://github.com/status-im/status-go/pull/5924 https://github.com/status-im/status-go/pull/5941 https://github.com/status-im/status-go/pull/5945

-o-

Bumped to status-go commit 5a19cc2a6ebc23d5dd8fcac2530a2897b0443e42

to include https://github.com/status-im/status-go/pull/5957 as well

status-im-auto commented 1 month ago

Jenkins Builds

Click to see older builds (4) | :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result | |-|-|-|-|-|-|-| | :heavy_check_mark: | f0e69b1f | [#1](https://ci.status.im/job/status-mobile/job/prs/job/tests/job/PR-21445/1/) | 2024-10-16 10:19:27 | ~7 min | `tests` | [:page_facing_up:`log`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241016-101157-f0e69b-pr21445-tests.log) | | :heavy_check_mark: | f0e69b1f | [#1](https://ci.status.im/job/status-mobile/job/prs/job/android-e2e/job/PR-21445/1/) | 2024-10-16 10:22:11 | ~10 min | `android-e2e` | [:robot:`apk`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241016-101157-f0e69b-pr21445-x86_64.apk) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fstatus-im-mobile-prs.ams3.cdn.digitaloceanspaces.com%2FStatusIm-Mobile-241016-101157-f0e69b-pr21445-x86_64.apk)| | :heavy_check_mark: | f0e69b1f | [#1](https://ci.status.im/job/status-mobile/job/prs/job/android/job/PR-21445/1/) | 2024-10-16 10:24:58 | ~13 min | `android` | [:robot:`apk`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241016-101157-f0e69b-pr21445-arm64-v8a.apk) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fstatus-im-mobile-prs.ams3.cdn.digitaloceanspaces.com%2FStatusIm-Mobile-241016-101157-f0e69b-pr21445-arm64-v8a.apk)| | :heavy_check_mark: | f0e69b1f | [#1](https://ci.status.im/job/status-mobile/job/prs/job/ios/job/PR-21445/1/) | 2024-10-16 10:26:27 | ~14 min | `ios` | [:iphone:`ipa`](https://i.diawi.com/aSDQbe) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fi.diawi.com%2FaSDQbe)|
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:heavy_check_mark: 46501d61 #2 2024-10-16 13:37:13 ~4 min tests :page_facing_up:log
:heavy_check_mark: 46501d61 #2 2024-10-16 13:40:53 ~8 min android :robot:apk :calling:
:heavy_check_mark: 46501d61 #2 2024-10-16 13:41:55 ~9 min android-e2e :robot:apk :calling:
:heavy_check_mark: 46501d61 #2 2024-10-16 13:49:57 ~17 min ios :iphone:ipa :calling:
:heavy_check_mark: e03757b4 #3 2024-10-17 13:25:16 ~5 min tests :page_facing_up:log
:heavy_check_mark: e03757b4 #3 2024-10-17 13:27:26 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: e03757b4 #3 2024-10-17 13:29:45 ~10 min ios :iphone:ipa :calling:
:heavy_check_mark: e03757b4 #3 2024-10-17 13:29:47 ~10 min android :robot:apk :calling:
status-im-auto commented 1 month ago

45% of end-end tests have passed

Total executed tests: 55
Failed tests: 30
Expected to fail tests: 0
Passed tests: 25
IDs of failed tests: 702845,702840,727231,702894,703086,702855,702947,702730,702958,702786,702745,702731,702844,702841,702839,740490,702733,702809,702838,702813,704615,702948,702859,703629,702957,702843,702782,703391,739307,703194 

Failed tests (30)

Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    2. test_1_1_chat_message_reaction, id: 702730
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    4. test_1_1_chat_pin_messages, id: 702731
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    5. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    6. test_1_1_chat_push_emoji, id: 702813
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    7. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    8. test_1_1_chat_send_image_save_and_share, id: 703391
    ``` Test setup failed: critical/chats/test_1_1_public_chats.py:20: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:330: in create_shared_drivers raise e base_test_case.py:320: in create_shared_drivers test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1 '_asyncio.Future' object has no attribute 'session_id' ```

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: activity_center/test_activity_center.py:274: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_deep_links_communities, id: 739307

    Device 1: Waiting 35s for dapp to load
    Device 1: Find `Text` by `accessibility id`: `community-title`

    ``` critical/test_deep_and_universal_links.py:105: in test_deep_links_communities if self.community_view.community_title.text != text: ../views/base_element.py:432: in text text = self.find_element().text ../views/base_element.py:79: in find_element raise NoSuchElementException( Device 1: Text by accessibility id: `community-title` 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 ```

    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    2. test_community_mentions_push_notification, id: 702786

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    3. test_community_markdown_support, id: 702809
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    4. test_community_hashtag_links_to_community_channels, id: 702948
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    5. test_community_join_when_node_owner_offline, id: 703629
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    ``` Test setup failed: activity_center/test_activity_center.py:388: in prepare_devices self.loop.run_until_complete( /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:52: in run_in_parallel returns.append(await k) /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../views/sign_in_view.py:246: in create_user self.terms_and_privacy_checkbox.click() ../views/base_element.py:92: in click element.click() ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:94: in click self._execute(Command.CLICK_ELEMENT) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute return self._parent.execute(command, params) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute self.error_handler.check_response(response) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace)) The element 'By.xpath: //*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']' does not exist in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception E Stacktrace: E io.appium.uiautomator2.common.exceptions.StaleElementReferenceException: The element 'By.xpath: //*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']' does not exist in DOM anymore E at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:117) E at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153) E at io.appium.uiautomator2.handler.Click.safeHandle(Click.java:36) E at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59) E at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:259) E at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:253) E at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:77) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435) E at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) E at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) E at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) E at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) E at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611) E at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552) E at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466) E at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438) E at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140) E at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) E at java.lang.Thread.run(Thread.java:1012) ```

    2. test_activity_center_mentions, id: 702957

    Device 1: Tap on found: Button
    ## New multiaccount is created successfully!

    ``` Test setup failed: activity_center/test_activity_center.py:388: in prepare_devices self.loop.run_until_complete( /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:52: in run_in_parallel returns.append(await k) /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../views/sign_in_view.py:246: in create_user self.terms_and_privacy_checkbox.click() ../views/base_element.py:92: in click element.click() ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:94: in click self._execute(Command.CLICK_ELEMENT) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute return self._parent.execute(command, params) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute self.error_handler.check_response(response) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace)) The element 'By.xpath: //*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']' does not exist in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception E Stacktrace: E io.appium.uiautomator2.common.exceptions.StaleElementReferenceException: The element 'By.xpath: //*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']' does not exist in DOM anymore E at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:117) E at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153) E at io.appium.uiautomator2.handler.Click.safeHandle(Click.java:36) E at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59) E at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:259) E at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:253) E at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:77) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435) E at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) E at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) E at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) E at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) E at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611) E at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552) E at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466) E at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438) E at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140) E at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) E at java.lang.Thread.run(Thread.java:1012) ```

    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231

    # STEP: Adding new regular account
    Device 1: Find `Button` by `accessibility id`: `add-account`

    ``` critical/test_wallet.py:257: 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:92: in click element.click() ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:94: in click self._execute(Command.CLICK_ELEMENT) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute return self._parent.execute(command, params) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute self.error_handler.check_response(response) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace)) The element 'By.accessibilityId: add-account' is not linked to the same object in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception E Stacktrace: E io.appium.uiautomator2.common.exceptions.StaleElementReferenceException: The element 'By.accessibilityId: add-account' is not linked to the same object in DOM anymore E at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:122) E at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153) E at io.appium.uiautomator2.handler.Click.safeHandle(Click.java:36) E at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59) E at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:259) E at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:253) E at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:77) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435) E at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) E at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) E at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345) E at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) E at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352) E at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) E at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) E at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611) E at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552) E at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466) E at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438) E at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140) E at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) E at java.lang.Thread.run(Thread.java:1012) ```

    2. test_wallet_balance_mainnet, id: 740490

    ## Signed in successfully!
    Device 1: Find `WalletTab` by `accessibility id`: `wallet-stack-tab`

    ``` 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 ```

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    2. test_community_contact_block_unblock_offline, id: 702894
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    3. test_community_mark_all_messages_as_read, id: 703086
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    5. test_community_unread_messages_badge, id: 702841
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    6. test_community_message_delete, id: 702839
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    7. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    8. test_community_edit_delete_message_when_offline, id: 704615
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    9. test_community_one_image_send_reply, id: 702859
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    10. test_community_message_edit, id: 702843
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    11. test_community_several_images_send_reply, id: 703194
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Passed tests (25)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links_profile, id: 702775
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    4. test_group_chat_pin_messages, id: 702732
    Device sessions

    5. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    6. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    3. test_add_contact_field_validation, id: 702777
    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestFallbackMultipleDevice:

    1. test_fallback_sync_with_error, id: 740220
    Device sessions

    2. test_fallback_with_correct_seed_phrase, id: 740221
    Device sessions

    3. test_fallback_validate_seed_phrase, id: 740222
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    3. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    6. test_community_discovery, id: 703503
    Device sessions

    VolodLytvynenko commented 1 month ago

    I'm not sure if this is related to the current PR. I've never swapped SNT on L1; I usually swap tokens with lower fees like DAI, USDC, or ETH on this network. Should it be fixed within the scope of this PR?

    ISSUE 1: "Spending cap failing" Error is shown when attempting to swap SNT

    Steps:

    1. Recover user with SNT tokens.
    2. Go to the swap page.
    3. Attempt to approve SNT for the swap transaction.

    Actual Result:

    "Spending cap failing" Error is shown when attempting to swap SNT

    https://github.com/user-attachments/assets/ff75eac3-06fb-49c2-8e9e-3cd61b424f04

    Expected Result:

    The approval should be successful

    Devices:

    Pixel 7a, Android 13

    Logs:

    Status-debug-logs (1).zip

    status-im-auto commented 1 month ago

    55% of end-end tests have passed

    Total executed tests: 55
    Failed tests: 25
    Expected to fail tests: 0
    Passed tests: 30
    IDs of failed tests: 702809,703194,702859,702777,702957,702851,702840,703086,702948,702894,702850,740490,704615,703503,702786,702839,702947,702838,702844,702843,739307,702845,702958,703629,702841 

    Failed tests (25)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    # STEP: Check Discover Communities content
    Device 1: Find `CommunitiesTab` by `accessibility id`: `communities-stack-tab`

    ``` critical/chats/test_public_chat_browsing.py:261: in test_community_discovery self.home.communities_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: CommunitiesTab by accessibility id: `communities-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 ```

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    2. test_community_one_image_send_reply, id: 702859
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    4. test_community_mark_all_messages_as_read, id: 703086
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    5. test_community_contact_block_unblock_offline, id: 702894
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    6. test_community_edit_delete_message_when_offline, id: 704615
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    7. test_community_message_delete, id: 702839
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    8. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    10. test_community_message_edit, id: 702843
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    11. test_community_unread_messages_badge, id: 702841
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: activity_center/test_activity_center.py:414: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    ``` Test setup failed: activity_center/test_activity_center.py:414: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Class TestWalletOneDevice:

    1. test_wallet_balance_mainnet, id: 740490

    Device 1: Find `Button` by `accessibility id`: `network-dropdown`
    Device 1: Tap on found: Button

    ``` critical/test_wallet.py:249: in test_wallet_balance_mainnet 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))])) For the Ether the wrong value 0.0051 is shown, expected 0.0052 in total E For the Uniswap the wrong value 0.127 is shown, expected 0.627 in total E For the Ether the wrong value 0.0 is shown, expected 0.0001 on Arbitrum E For the Uniswap the wrong value 0.0 is shown, expected 0.5 on Arbitrum ```

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    ``` Test setup failed: activity_center/test_activity_center.py:18: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:310: in create_shared_drivers drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name, /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:26: in start_threads returns[k] = await returns[k] /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__ super().__init__( ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__ self.start_session(capabilities) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:360: in start_session raise SessionNotCreatedException( A valid W3C session creation response must contain a non-empty "sessionId" entry. Got "{'value': {'deviceName': 'Android GoogleAPI Emulator', 'enableNotificationListener': True, 'orientation': 'PORTRAIT', 'ignoreUnimportantViews': False, 'app': '/tmp/tmpyG49aO/StatusIm-Mobile-241016-133213-46501d-pr21445-x86_64.apk', 'noReset': True, 'selenium:webdriver.remote.quietExceptions': False, 'deviceOrientation': 'portrait', 'newCommandTimeout': 600, 'sauce:options': {}, 'enforceXPath1': True, 'chromeOptions': {'args': ['--disable-fre', '--disable-popup-blocking', '--enable-automation', '--enable-remote-debugging', '--ignore-certificate-errors', '--metrics-recording-only', '--no-first-run', '--disable-search-geolocation-disclosure', '--disable-gpu-rasterization']}, 'noSign:noSign': True, 'maxTypingFrequency': 8, 'setWebContentDebuggingEnabled': True, 'platformName': 'Android', 'events': {'commands': []}, 'lastScrollData': None, 'automationName': 'UiAutomator2', 'webdriver.remote.sessionid': '4ea04e9a3f434ec68937e1f6922a803d', 'hideKeyboard': True, 'hasMetadata': True, 'proxy': {'proxyAutoconfigUrl': 'http://127.0.0.1:19876/pac.js', 'proxyType': 'pac'}, 'platformVersion': '14.0', 'eventTimings': True, 'chromedriverExecutable': '/mnt/android/chromedriver/14.0/chromedriver', 'udid': 'emulator-5554', 'idleTimeout': 1000}}" instead ```

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    ``` Test setup failed: activity_center/test_activity_center.py:18: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:310: in create_shared_drivers drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name, /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:26: in start_threads returns[k] = await returns[k] /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__ super().__init__( ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__ self.start_session(capabilities) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:360: in start_session raise SessionNotCreatedException( A valid W3C session creation response must contain a non-empty "sessionId" entry. Got "{'value': {'deviceName': 'Android GoogleAPI Emulator', 'enableNotificationListener': True, 'orientation': 'PORTRAIT', 'ignoreUnimportantViews': False, 'app': '/tmp/tmpyG49aO/StatusIm-Mobile-241016-133213-46501d-pr21445-x86_64.apk', 'noReset': True, 'selenium:webdriver.remote.quietExceptions': False, 'deviceOrientation': 'portrait', 'newCommandTimeout': 600, 'sauce:options': {}, 'enforceXPath1': True, 'chromeOptions': {'args': ['--disable-fre', '--disable-popup-blocking', '--enable-automation', '--enable-remote-debugging', '--ignore-certificate-errors', '--metrics-recording-only', '--no-first-run', '--disable-search-geolocation-disclosure', '--disable-gpu-rasterization']}, 'noSign:noSign': True, 'maxTypingFrequency': 8, 'setWebContentDebuggingEnabled': True, 'platformName': 'Android', 'events': {'commands': []}, 'lastScrollData': None, 'automationName': 'UiAutomator2', 'webdriver.remote.sessionid': '4ea04e9a3f434ec68937e1f6922a803d', 'hideKeyboard': True, 'hasMetadata': True, 'proxy': {'proxyAutoconfigUrl': 'http://127.0.0.1:19876/pac.js', 'proxyType': 'pac'}, 'platformVersion': '14.0', 'eventTimings': True, 'chromedriverExecutable': '/mnt/android/chromedriver/14.0/chromedriver', 'udid': 'emulator-5554', 'idleTimeout': 1000}}" instead ```

    3. test_activity_center_contact_request_decline, id: 702850
    ``` Test setup failed: activity_center/test_activity_center.py:18: in prepare_devices self.drivers, self.loop = create_shared_drivers(2) base_test_case.py:310: in create_shared_drivers drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name, /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:26: in start_threads returns[k] = await returns[k] /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__ super().__init__( ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__ self.start_session(capabilities) ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:360: in start_session raise SessionNotCreatedException( A valid W3C session creation response must contain a non-empty "sessionId" entry. Got "{'value': {'deviceName': 'Android GoogleAPI Emulator', 'enableNotificationListener': True, 'orientation': 'PORTRAIT', 'ignoreUnimportantViews': False, 'app': '/tmp/tmpyG49aO/StatusIm-Mobile-241016-133213-46501d-pr21445-x86_64.apk', 'noReset': True, 'selenium:webdriver.remote.quietExceptions': False, 'deviceOrientation': 'portrait', 'newCommandTimeout': 600, 'sauce:options': {}, 'enforceXPath1': True, 'chromeOptions': {'args': ['--disable-fre', '--disable-popup-blocking', '--enable-automation', '--enable-remote-debugging', '--ignore-certificate-errors', '--metrics-recording-only', '--no-first-run', '--disable-search-geolocation-disclosure', '--disable-gpu-rasterization']}, 'noSign:noSign': True, 'maxTypingFrequency': 8, 'setWebContentDebuggingEnabled': True, 'platformName': 'Android', 'events': {'commands': []}, 'lastScrollData': None, 'automationName': 'UiAutomator2', 'webdriver.remote.sessionid': '4ea04e9a3f434ec68937e1f6922a803d', 'hideKeyboard': True, 'hasMetadata': True, 'proxy': {'proxyAutoconfigUrl': 'http://127.0.0.1:19876/pac.js', 'proxyType': 'pac'}, 'platformVersion': '14.0', 'eventTimings': True, 'chromedriverExecutable': '/mnt/android/chromedriver/14.0/chromedriver', 'udid': 'emulator-5554', 'idleTimeout': 1000}}" instead ```

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    2. test_community_hashtag_links_to_community_channels, id: 702948
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    3. test_community_mentions_push_notification, id: 702786

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    4. test_community_leave, id: 702845
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    5. test_community_join_when_node_owner_offline, id: 703629
    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:874: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: activity_center/test_activity_center.py:274: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_deep_links_communities, id: 739307

    Device 1: Waiting 35s for dapp to load
    Device 1: Find `Text` by `accessibility id`: `community-title`

    ``` critical/test_deep_and_universal_links.py:105: in test_deep_links_communities if self.community_view.community_title.text != text: ../views/base_element.py:432: in text text = self.find_element().text ../views/base_element.py:79: in find_element raise NoSuchElementException( Device 1: Text by accessibility id: `community-title` 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 ```

    Device sessions

    Passed tests (30)

    Click to expand

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links_profile, id: 702775
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    8. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231

    Class TestFallbackMultipleDevice:

    1. test_fallback_sync_with_error, id: 740220
    Device sessions

    2. test_fallback_validate_seed_phrase, id: 740222
    Device sessions

    3. test_fallback_with_correct_seed_phrase, id: 740221
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_mute_chat, id: 703495
    Device sessions

    3. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    4. test_group_chat_reactions, id: 703202
    Device sessions

    5. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    6. test_group_chat_offline_pn, id: 702808
    Device sessions

    churik commented 1 month ago

    So let me check what we should expect from these PRs all together: 1) https://github.com/status-im/status-go/pull/5950 - should in theory fix limit problem (if we're hitting it?), we have no means to test it, can someone help to look in the proxy logs to identify that we do not have this error anymore (and we need text of error in this case)?

    2) https://github.com/status-im/status-go/pull/5924 - should provide more monitoring, can someone help us to check that?

    3) https://github.com/status-im/status-go/pull/5941 - re-ordering; the same issue with proxy - idk how to identify that order is right.

    4) https://github.com/status-im/status-go/pull/5945 - just a regression and should decrease the number of requests the we send to providers

    Overall we consider PR as succesfull:

    If someone can help us to analyze logs from kibana or use any other tools to identify how it really works with 3d party services, please, let us know.

    As now it seems we're just trying to guess whether it works or not.

    @saledjenic @friofry @shivekkhurana

    friofry commented 1 month ago

    Yeah sounds correct, RPS limiter removal might help with the circuit breaker problem. And Goerli fix doesn't affect non-testnet.

    If someone can help us to analyze logs from kibana or use any other tools to identify how it really works with 3d party services, please, let us know.

    After changing provider order, if we hit grove, then we should check the logs and see why nodefleet and infura are failing.

    Please ping me if you need help analysing logs (nginx and status-go)

    pavloburykh commented 1 month ago

    This issue https://github.com/status-im/status-mobile/issues/21449 is still reproducible in this PR. So we still facing problem when balances are not fetched on certain network. This time it is Arbitrum. Recently we encountered same issue with Optimism.

    Here are the log from this PR

    Status-debug-logs - 2024-10-16T190825.193.zip

    friofry commented 1 month ago

    This issue #21449 is still reproducible in this PR. So we still facing problem when balances are not fetched on certain network. This time it is Arbitrum. Recently we encountered same issue with Optimism.

    Here are the log from this PR

    Status-debug-logs - 2024-10-16T190825.193.zip

    Thanks for the logs

    here is a error log. It could be a combination of client logic bugs:

    error="json: cannot unmarshal string into Go value of type map[string]float64 - {\"Response\":\"Error\",\"Message\":\"cccagg_or_exchange market does not exist for this coin pair (11155111-ZEENUS-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-USDC-USD), cccagg_or_exchange market does not exist for this coin pair (11155420-ETH-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-WEENUS-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-WETH9-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-UNI-USD), cccagg_or_exchange market does not exist for this coin pair (11155420-USDC-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-EUROC-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-XEENUS-USD), cccagg_or_exchange market does not exist for this coin pair (421614-USDC-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-WETH-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-YEENUS-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-STT-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-ETH-USD), cccagg_or_exchange market does not exist for this coin pair (421614-ETH-USD), cccagg_or_exchange market does not exist for this coin pair (11155111-DAI-USD)\",\"HasWarning\":false,\"Type\":2,\"RateLimit\":{},\"Data\":{},\"Cooldown\":0}"
    1. We try to parse prices from a response with error

      error="json: cannot unmarshal string into Go value of type map[string]float64 - 

      The code is probably called by FetchPrices in market.go:

      prices := response.(map[string]map[string]float64)
    2. ... cccagg_or_exchange market does not exist for this coin pair (11155111-ZEENUS-USD), ...

      and the second error is related to cccagg_or_exchange. Not sure why it happens

    "fsyms param is invalid. (fsyms length is higher than maxlength: 300) provider=cryptocompare

    It's from cryptocompare/client.go FetchPrices

    4.

    unsuccessful request: 429 Too Many Requests" provider=rarible1

    The proxy seems working fine:

    {
      "statusPerChainPerProvider": {
        "11155111": {
          "status-proxy-0": {
            "name": "status-proxy-0",
            "last_success_at": "2024-10-16T15:25:43.692430957Z",
            "last_error_at": "0001-01-01T00:00:00Z",
            "last_error": null,
            "status": "up"
          }
        },
        "11155420": {},
        "421614": {
          "status-proxy-0": {
            "name": "status-proxy-0",
            "last_success_at": "2024-10-16T15:25:43.680861738Z",
            "last_error_at": "0001-01-01T00:00:00Z",
            "last_error": null,
            "status": "up"
          }
        }
      }
    }
    saledjenic commented 1 month ago

    From the attached logs in this comment https://github.com/status-im/status-mobile/pull/21445#issuecomment-2416569837 I see that 2 approvals failed, but the both txs have empty data and doesn't call approve function:


    https://github.com/status-im/status-go/pull/5950 - should in theory fix limit problem (if we're hitting it?), we have no means to test it, can someone help to look in the proxy logs to identify that we do not have this error anymore (and we need text of error in this case)?

    In theory, yes, but as I mentioned in Discord, can be also up to wrongly configured/used hystrix. We need to inspect that.

    https://github.com/status-im/status-go/pull/5941 - re-ordering; the same issue with proxy - idk how to identify that order is right.

    You can check that in the log, for error that you're getting and see the order of errors. So error in the log should have firstly error from api.status.im/nodefleet/, then api.status.im/infura/, then infura.io/v3/, then api.status.im/grove/ and at the end from rpc.grove.city/v1/, so that's the worst case. In theory api.status.im/nodefleet/ should not have error.

    VolodLytvynenko commented 1 month ago

    hi @saledjenic I checked this issue on desktop as well using today's latest master and was able to approve SNT once, but I couldn't approve it a second and more time. Below are the steps I followed

    Preconditions:

    Current User has:

    Steps:

    1. Select L1 network.
    2. Enter 13,500 SNT to swap to ETH.
    3. Approve the transaction (approval is successful https://etherscan.io/tx/0x8c5a4450b2a7eed54a9376b0848b88b41854d5df893923688197d3fa68ac6bf7).
    4. Enter a higher amount of SNT (e.g., between 13,501 and 15,000 SNT).

    Actual result:

    image

    Expected result:

    Users can click approve and navigate to approved page

    Logs:

    Desktop: geth copy.log

    VolodLytvynenko commented 1 month ago

    @saledjenic Just FYI. It's very possible that this issue related to the current PR. I successfully approved SNT (this works only if the user does not have approved SNT and this approval is the first) on the latest nightly build on both Desktop and Mobile, but when I tried it again in the build of the current PR, I encountered the same issue again.

    VolodLytvynenko commented 1 month ago

    this issueis present on the latest master as well. I just tracked it separately

    saledjenic commented 1 month ago

    @VolodLytvynenko the log is useless. :( The only I could see there is this error err="status-proxy-0.error: execution reverted" and nothing else, but that somehow looks like provider issue.

    I successfully approved SNT (this works only if the user does not have approved SNT and this approval is the first) on the latest nightly build on both Desktop and Mobile, but when I tried it again in the build of the current PR, I encountered the same issue again.

    If it passed once, means the code is good. Also if new approval has the same or lower value than previously approved, then you won't be ask to approve again, but if the value is higher then you should approve that higher value and that's a new tx, and has nothing with previously approved value. Also since the new value is higher than previous, but still less than the total balance, there is no reason for getting an error. I can only blame providers for that.

    churik commented 1 month ago

    @saledjenic what can we do to make log not useless? do we have any ideas?

    @friofry new health monitoring doesn't give us more clarity?

    because seems we're blind now - and might be status-proxy-0.error: execution reverted is coming again from Grove, and we don't know when the app is falling back to Grove and why.

    churik commented 1 month ago

    I mean based on https://github.com/status-im/status-mobile/issues/21424#issuecomment-2410843323 - it is Grove in Swap. Here we changed the order, why it is still Grove then?

    VolodLytvynenko commented 1 month ago

    If it passed once, means the code is good. Also if new approval has the same or lower value than previously approved, then you won't be ask to approve again, but if the value is higher then you should approve that higher value and that's a new tx, and has nothing with previously approved value. Also since the new value is higher than previous, but still less than the total balance, there is no reason for getting an error. I can only blame providers for that.

    Hi, @saledjenic @churik perhaps this could be the solution to the issue. When I try to approve ERC-20 assets on other apps (like Uniswap, MetaMask), they often set the approval to "unlimited," meaning you don’t need to approve the same asset again. This could prevent the error on the second approval on our side. However, I’m not sure if it’s technically possible for us to implement unlimited approval on our side. WDYT?

    image

    churik commented 1 month ago

    @saledjenic can you please point us to the same PR in desktop in order to verify?

    Fo now:

    So perhaps we're checking the wrong places, but to my understanding so far we're not able to approve SNT once more (may be not only SNT actually) if the approve value is bigger than the previous one.

    VolodLytvynenko commented 1 month ago

    Here's a quick summary of the swap feature for the current PR:

    Mobile logs: Status-debug-logs.1.zip

    Desktop logs: geth copy.log Mobile logs: logs.zip

    VolodLytvynenko commented 1 month ago

    just added logs for both issues in comment above

    saledjenic commented 1 month ago

    Should we consider then to make unlimited approve like Uniswap does(and basically a lot of other DeFi that I saw)? That will resolve the issue by itself.

    I guess yes (we can do that only if user is about to swap SNT).

    Can be deprioritized from 2.31 as

    It can be with lower priority, but we need to keep that in mind and don't log issues for that.

    it is reproducible only if user swapped less SNT that approved

    Not exactly like that, the issue is happening if the user already has approval for swaping X SNT, and wants to swap Y now, where X<Y. Now based on that usecaed we should re-think what to do, but setting unlimited approval for SNT only is for sure one of solutions.

    https://github.com/status-im/status-mobile/issues/21180 - bridge; can sometimes currently work in develop as well - so reproducible sometimes

    As said in comment in that issue, I don't have other explanation atm except that's happening due to some chain issues, cause checking that the tx is packed and sent well, so there's nothing else specially that we can do after that. One possibility could be that gas goes too high in meantime, cause bridging usually takes a bit longer than a normal tx.

    @saledjenic in geth.log I see no sequence of providers, so I have no idea how to check it.

    If you don't see it, then it's good. :) It means that the changes work.

    VolodLytvynenko commented 1 month ago

    issue 1 is fixed after latest commit. @dlipicar thank you!

    churik commented 1 month ago

    so what we have now: 1) Issue 1 - only mobile PR build, mentioned here

    Should we report it for mobile team only?

    2) Issue 2 - according to @saledjenic it is a contract problem, so we can't really fix that now.

    Should we consider then to make unlimited approve like Uniswap does(and basically a lot of other DeFi that I saw)? That will resolve the issue by itself. Can be deprioritized from 2.31 as it is reproducible only if user swapped less SNT that approved

    3) Other issues:

    Can be deprioritized from 2.31 as again can be network or provider related

    As for functionality:

    4) @dlipicar as for https://github.com/status-im/status-mobile/pull/21445#issuecomment-2417307858: we have fresh logs, if you point us where to look at or check by yourself, would be amazing. Status-debug-logs - 2024-10-17T180228.278.zip

    Conclusion

    I don't see any blockers for now related to status-go itself. So we need to wait for clear confirmation that all mentioned above is right and issues mentioned here are fixed and we're OK to merge.

    also it seems useless to try to check some funtionalities while one of the chain is out of sync.

    cc @shivekkhurana @alaibe

    saledjenic commented 1 month ago

    @saledjenic in geth.log I see no sequence of providers, so I have no idea how to check it.

    If you don't see it, then it's good. :) It means that changes work.

    dlipicar commented 1 month ago

    @churik The good: No more errors about the 300 character limit The bad: Still getting one error

    WARN [10-17|13:55:24.101|github.com/status-im/status-go/circuitbreaker/circuit_breaker.go:180]                                             hystrix error                            error="no data found - {\"Response\":\"Error\",\"Message\":\"cccagg_or_exchange market does not exist for this coin pair (1-IOTX-USD), cccagg_or_exchange market does not exist for this coin pair (10-SUSD-USD), cccagg_or_exchange market does not exist for this coin pair (1-ELON-USD), cccagg_or_exchange market does not exist for this coin pair (1-TRU-USD), cccagg_or_exchange market does not exist for this coin pair (42161-MOG-USD), cccagg_or_exchange market does not exist for this coin pair (42161-BOND-USD), cccagg_or_exchange market does not exist for this coin pair (42161-USDC.E-USD), cccagg_or_exchange market does not exist for this coin pair (1-POWR-USD), cccagg_or_exchange market does not exist for this coin pair (1-BAND-USD), cccagg_or_exchange market does not exist for this coin pair (1-JASMY-USD), cccagg_or_exchange market does not exist for this coin pair (1-MKR-USD), cccagg_or_exchange market does not exist for this coin pair (1-MATH-USD), cccagg_or_exchange market does not exist for this coin pair (10-BAL-USD), cccagg_or_exchange market does not exist for this coin pair (1-ALICE-USD), cccagg_or_exchange market does not exist for this coin pair (1-CBETH-USD), cccagg_or_exchange market does not exist for this coin pair (1-POND-USD), cccagg_or_exchange market does not exist for this coin pair (10-ZRO-USD), cccagg_or_exchange market does not exist for this coin pair (42161-1INCH-USD), cccagg_or_exchange market does not exist for this coin pair (1-ICOS-USD), cccagg_or_exchange market does not exist for this coin pair (1-GALA-USD), cccagg_or_exchange market does not exist for this coin pair (10-ARPA-USD), cccagg_or_exchange market does not exist for this coin pair (42161-KUJI-USD), cccagg_or_exchange market does not exist for this coin pair (42161-LINK-USD), cccagg_or_exchange market does not exist for this coin pair (1-MAGIC-USD), cccagg_or_exchange market does not exist for this coin pair (42161-ANKR-USD), cccagg_or_exchange market does not exist for this coin pair (1-BAL-USD), cccagg_or_exchange market does not exist for this coin pair (1-IDEX-USD), cccagg_or_exchange market does not exist for this coin pair (1-ERN-USD), cccagg_or_exchange market does not exist for this coin pair (10-LDO-USD), cccagg_or_exchange market does not exist for this coin pair (1-DPY-USD), cccagg_or_exchange market does not exist for this coin pair (42161-LUSD-USD), cccagg_or_exchange market does not exist for this coin pair (42161-ZRX-USD), cccagg_or_exchange market does not exist for this coin pair (42161-ACX-USD), cccagg_or_exchange market does not exist for this coin pair (1-BNT-USD), cccagg_or_exchange market does not exist for this coin pair (1-AGLD-USD), cccagg_or_exchange market does not exist for this coin pair (1-GAL-USD)\",\"HasWarning\":false,\"Type\":2,\"RateLimit\":{},\"Data\":{},\"Cooldown\":0}" provider=cryptocompare
    

    Checked requests.log, saw this

    t=2024-10-17T13:52:16+0000 lvl=dbug msg=callPrivateRPC params="[{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"wallet_fetchPrices\",\"params\":[[\"11155111-ZEENUS\",\"11155111-USDC\",\"11155420-ETH\",\"11155111-WEENUS\",\"11155111-WETH9\",\"11155111-UNI\",\"11155420-USDC\",\"11155111-EUROC\",\"11155111-XEENUS\",\"421614-USDC\",\"11155111-WETH\",\"11155111-YEENUS\",\"11155111-STT\",\"11155111-ETH\",\"421614-ETH\",\"11155111-DAI\"],[\"usd\"]]}]" resp="{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{}}" duration=556.929947ms

    So, the mobile client seems to be calling wallet_fetchPrices, wallet_fetchMarketValues and wallet_fetchTokenDetails with a list of "ChainID-Symbol", where it should just be "Symbol". We'll need a mobile dev to look at this.

    friofry commented 1 month ago

    So, the mobile client seems to be calling wallet_fetchPrices, wallet_fetchMarketValues and wallet_fetchTokenDetails with a list of "ChainID-Symbol", where it should just be "Symbol". We'll need a mobile dev to look at this.

    we generate symbols with this function:

    (defn tokens-by-address
      [props]
      (tokens-by-key (assoc props
                            :key-fn
                            (fn [{:keys [chainId address]}]
                              (str chainId "-" address)))))

    I'll try to quickly prepare a fix

    virginiabalducci commented 1 month ago

    This has been tested from deskop app end and looks good.

    pavloburykh commented 1 month ago

    fix(wallet): client should pass a list with "Symbol" and without "ChainID-" to status-go #21453

    Hey @dlipicar @friofry Could you please help to understand how does this issue affect app functionality/UI? Asking, cause it seems for me little bit risky to implement the last minute fixes (before release cut) which we do not know how to test properly and what potential regression we can get. I would prefer to implement those fixes on mobile side after we cut the release branch unless you are sure it is safe to include into upcoming release. Please share your thoughts on that. Thank you!

    dlipicar commented 1 month ago

    fix(wallet): client should pass a list with "Symbol" and without "ChainID-" to status-go #21453

    Hey @dlipicar @friofry Could you please help to understand how does this issue affect app functionality/UI? Asking, cause it seems for me little bit risky to implement the last minute fixes (before release cut) which we do not know how to test properly and what potential regression we can get. I would prefer to implement those fixes on mobile side after we cut the release branch unless you are sure it is safe to include into upcoming release. Please share your thoughts on that. Thank you!

    @pavloburykh I really don't know... I can only say there must be some place where you're expecting a token price or market data and you're not getting it. There could be other parts of the app that expect a "Symbol" and are getting a "ChainID-Symbol".

    friofry commented 1 month ago

    fix(wallet): client should pass a list with "Symbol" and without "ChainID-" to status-go #21453

    Hey @dlipicar @friofry Could you please help to understand how does this issue affect app functionality/UI? Asking, cause it seems for me little bit risky to implement the last minute fixes (before release cut) which we do not know how to test properly and what potential regression we can get. I would prefer to implement those fixes on mobile side after we cut the release branch unless you are sure it is safe to include into upcoming release. Please share your thoughts on that. Thank you!

    The intention of #21453 was to highlight my findings. I have asked @alwx and @briansztamfater to review this idea.

    saledjenic commented 1 month ago

    @churik I've just updated this comment https://github.com/status-im/status-mobile/pull/21445#issuecomment-2419599912 please check it again, cause I see that from what I've wrote yesterday just a single thing was saved.

    pavloburykh commented 1 month ago

    so what we have now:

    1. Issue 1 - only mobile PR build, mentioned here

    Should we report it for mobile team only?

    1. Issue 2 - according to @saledjenic it is a contract problem, so we can't really fix that now.

    Should we consider then to make unlimited approve like Uniswap does(and basically a lot of other DeFi that I saw)? That will resolve the issue by itself. Can be deprioritized from 2.31 as it is reproducible only if user swapped less SNT that approved

    1. Other issues:

    Can be deprioritized from 2.31 as again can be network or provider related

    As for functionality:

    • @saledjenic in geth.log I see no sequence of providers, so I have no idea how to check it.
    • @friofry just based on data for the last 15 minutes from kibana for proxy.test nidefleet / infura / grove - 665 / 87 / 184 - it seems that it is right, but for real check we need to find the way to filter logs by device
    1. @dlipicar as for Testing different go changes required for release 2.31 #21445 (comment): we have fresh logs, if you point us where to look at or check by yourself, would be amazing. Status-debug-logs - 2024-10-17T180228.278.zip

    Conclusion

    I don't see any blockers for now related to status-go itself. So we need to wait for clear confirmation that all mentioned above is right and issues mentioned here are fixed and we're OK to merge.

    also it seems useless to try to check some funtionalities while one of the chain is out of sync.

    cc @shivekkhurana @alaibe

    UPDATE after re-testing today:

    1. Issue 1 not reproducible. this issue might a random one, we will keep an eye on it during release testing cc @VolodLytvynenko
    2. Issue 2 - still reproducible, most likely a contract problem, so we can't really fix that now. There is a separate issue opened https://github.com/status-im/status-mobile/issues/21424
    1. Other issues:

    cc @shivekkhurana