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
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'
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'
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'
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'
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'
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'
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'
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 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 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
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 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
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
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
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
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)
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 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)
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
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
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
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
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
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
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 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
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
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
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
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
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:
Recover user with SNT tokens.
Go to the swap page.
Attempt to approve SNT for the swap transaction.
Actual Result:
"Spending cap failing" Error is shown when attempting to swap SNT
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
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
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
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
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
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
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
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
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 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
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
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
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 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
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 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:
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
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 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
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
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 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 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
So let me check what we should expect from these PRs all together:
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)?
https://github.com/status-im/status-go/pull/5924 - should provide more monitoring, can someone help us to check 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.
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 we can request balance from Arb network (doesn't work from today morning)
if https://github.com/status-im/status-mobile/issues/21424 and https://github.com/status-im/status-mobile/issues/21423 and https://github.com/status-im/status-mobile/issues/21180 are fixed, as these errors were from Grove providers
no new regression in send / bridge / swap
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.
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.
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 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}"
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:
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.
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:
15500 SNT
0.21 ETH
Steps:
Select L1 network.
Enter 13,500 SNT to swap to ETH.
Approve the transaction (approval is successful https://etherscan.io/tx/0x8c5a4450b2a7eed54a9376b0848b88b41854d5df893923688197d3fa68ac6bf7).
Enter a higher amount of SNT (e.g., between 13,501 and 15,000 SNT).
Actual result:
Expected result:
Users can click approve and navigate to approved page
@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 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.
@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.
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?
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?
@saledjenic can you please point us to the same PR in desktop in order to verify?
Fo now:
on desktop master: reproducible
on desktop PR: didn't check
on mobile master: reproducible
on mobile PR: reproducible
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.
Here's a quick summary of the swap feature for the current PR:
Issue 1: This issue is reproducible for me on mobile with the current build, but I was not able to reproduce it in the Desktop PR or latest desktop masters. This is reproducible only on mobile of current PR
Issue 2: This issue is not related to the current PR and exists in both the Mobile and Desktop latest masters. I also tested it within the Desktop PR, and it is reproducible there as well. I've tracked this issue separately here
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.
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
Other issues:
https://github.com/status-im/status-mobile/issues/21423 - Arbitrum-related, so provider.
https://github.com/status-im/status-mobile/issues/21449 - Arbitrum-related, so provider.
https://github.com/status-im/status-mobile/issues/21180 - bridge; can sometimes currently work in develop as well - so reproducible sometimes
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
@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.
@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
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.
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.
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!
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".
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.
@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.