status-mobile icon indicating copy to clipboard operation
status-mobile copied to clipboard

feat: support edge case flow in the wallet send flow when token is not available on receiver preferred networks

Open briansztamfater opened this issue 1 year ago • 5 comments

fixes #19670

Summary

This PR adds support for an edge case in the send flow when selected token is not available in the receiver preferred networks. Check the issue and Figma for more details and info about the approach to this edge case.

As part of this issue, I modified network preferences bottom sheet view to support both receiver and sender network settings and avoid duplicate code. So I would suggest to QA also network preferences bottom sheet in other parts of the app where it is used to be sure I didn't broke anything 🙏

Demo 1

https://github.com/status-im/status-mobile/assets/18485527/43222111-6960-4ed5-ba53-0709771b30a0

Demo 2

https://github.com/status-im/status-mobile/assets/18485527/0c5e4b9f-2618-4974-a0c8-953fafad7161

Platforms

  • Android
  • iOS

Areas that maybe impacted

Functional
  • wallet / transactions

Steps to test

Case 1

  • Open Status
  • Log in
  • Select an account with funds in some token that is no supported on some chain(s). For example, SNT is not supported on Optimism, so we can use it as an example.
  • Tap on Send
  • Enter a multichain address with opt: prefix. For example opt:0x4328490234823094839043092489394893948934
  • Select SNT token
  • Enter a valid amount and wait for routes to be loaded
  • User should see an alert as shown in Figma and Optimism card disabled with Not available text https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=9274-75500&mode=design&t=totQsXRa8D6Rpf2Y-4
  • User can edit receiver networks manually by pressing the + button, and add available networks for that token. Verify corresponding alerts are shown while editing networks as shown in Figma https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=9274-75601&mode=design&t=totQsXRa8D6Rpf2Y-4
  • Route should be loaded and user can proceed if a route was found. NOTE: Adding a supported network does not guarantee a route will be found
  • If a route was found after adding a receiver unpreferred network and user taps on Confirm button, an alert should be shown as shown in Figma https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=9356-101545&mode=design&t=totQsXRa8D6Rpf2Y-4

Case 2

  • Open Status
  • Log in
  • Select an account with funds in some token that is no supported on some chain(s). For example, SNT is not supported on Optimism, so we can use it as an example.
  • Tap on Send
  • Enter a multichain address with opt: prefix. For example opt:0x4328490234823094839043092489394893948934
  • Select SNT token
  • Enter a valid amount and wait for routes to be loaded
  • User should see an alert as shown in Figma and Optimism card disabled with Not available text https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=9274-75500&mode=design&t=totQsXRa8D6Rpf2Y-4
  • User can tap on Add networks SNT can be sent to to automatically add SNT available networks
  • Route should be loaded and user can proceed if a route was found. NOTE: Adding a supported network does not guarantee a route will be found
  • If a route was found after adding a receiver unpreferred network and user taps on Confirm button, an alert should be shown as shown in Figma https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=9356-101545&mode=design&t=totQsXRa8D6Rpf2Y-4

status: ready

briansztamfater avatar Apr 16 '24 14:04 briansztamfater

Jenkins Builds

Click to see older builds (97)
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:heavy_check_mark: 658cb5dfcd921f974765f2372c7f6ef8b796b7bf #1 2024-04-16 14:13:18 ~4 min tests :page_facing_up:log
:heavy_check_mark: 658cb5dfcd921f974765f2372c7f6ef8b796b7bf #1 2024-04-16 14:14:52 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 658cb5dfcd921f974765f2372c7f6ef8b796b7bf #1 2024-04-16 14:15:06 ~6 min android :robot:apk :calling:
:heavy_check_mark: 658cb5dfcd921f974765f2372c7f6ef8b796b7bf #1 2024-04-16 14:18:26 ~9 min ios :iphone:ipa :calling:
:x: 20ad5c664879828be2c8ad88acd7281a7d01ff2c #2 2024-04-17 09:32:36 ~2 min tests :page_facing_up:log
:heavy_check_mark: 20ad5c664879828be2c8ad88acd7281a7d01ff2c #2 2024-04-17 09:36:11 ~5 min android :robot:apk :calling:
:heavy_check_mark: 20ad5c664879828be2c8ad88acd7281a7d01ff2c #2 2024-04-17 09:36:27 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 20ad5c664879828be2c8ad88acd7281a7d01ff2c #2 2024-04-17 09:39:12 ~8 min ios :iphone:ipa :calling:
:x: 1d7e2a09928fc5048c36d4e77a7a5c60fb73cb0e #3 2024-04-17 14:13:28 ~2 min tests :page_facing_up:log
:heavy_check_mark: 1d7e2a09928fc5048c36d4e77a7a5c60fb73cb0e #3 2024-04-17 14:17:57 ~6 min android :robot:apk :calling:
:heavy_check_mark: 1d7e2a09928fc5048c36d4e77a7a5c60fb73cb0e #3 2024-04-17 14:18:48 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: 1d7e2a09928fc5048c36d4e77a7a5c60fb73cb0e #3 2024-04-17 14:19:37 ~8 min ios :iphone:ipa :calling:
:x: 5c2476ad2d315dc9afee5accd9862bb825628477 #4 2024-04-18 14:30:58 ~2 min tests :page_facing_up:log
:x: 0ba224aa47e58524b490e5199bd3be3769604e21 #5 2024-04-18 14:33:37 ~2 min tests :page_facing_up:log
:heavy_check_mark: 0ba224aa47e58524b490e5199bd3be3769604e21 #5 2024-04-18 14:36:59 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 0ba224aa47e58524b490e5199bd3be3769604e21 #5 2024-04-18 14:37:50 ~6 min android :robot:apk :calling:
:heavy_check_mark: 0ba224aa47e58524b490e5199bd3be3769604e21 #5 2024-04-18 14:52:29 ~21 min ios :iphone:ipa :calling:
:x: c449eba13591b6ae42c4e6ef6420dc50cb53647f #7 2024-04-18 15:09:10 ~2 min tests :page_facing_up:log
:heavy_check_mark: c449eba13591b6ae42c4e6ef6420dc50cb53647f #7 2024-04-18 15:14:24 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: c449eba13591b6ae42c4e6ef6420dc50cb53647f #7 2024-04-18 15:14:45 ~7 min android :robot:apk :calling:
:x: c449eba13591b6ae42c4e6ef6420dc50cb53647f #7 2024-04-18 15:16:50 ~9 min ios :page_facing_up:log
:x: c2ab3c8ae02058e2e4ad8b08eaaa9e180f65c12c #8 2024-05-06 15:48:46 ~2 min tests :page_facing_up:log
:heavy_check_mark: c2ab3c8ae02058e2e4ad8b08eaaa9e180f65c12c #8 2024-05-06 15:51:28 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: c2ab3c8ae02058e2e4ad8b08eaaa9e180f65c12c #8 2024-05-06 15:51:48 ~5 min android :robot:apk :calling:
:heavy_check_mark: c2ab3c8ae02058e2e4ad8b08eaaa9e180f65c12c #8 2024-05-06 15:54:33 ~8 min ios :iphone:ipa :calling:
:x: c48df7a5447e835d850c5638cf543c86fffefaf6 #9 2024-05-07 12:03:15 ~2 min tests :page_facing_up:log
:heavy_check_mark: c48df7a5447e835d850c5638cf543c86fffefaf6 #9 2024-05-07 12:06:23 ~5 min android :robot:apk :calling:
:heavy_check_mark: c48df7a5447e835d850c5638cf543c86fffefaf6 #9 2024-05-07 12:06:30 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: c48df7a5447e835d850c5638cf543c86fffefaf6 #9 2024-05-07 12:10:19 ~9 min ios :iphone:ipa :calling:
:heavy_check_mark: 4f98da123143bf808473044977926c723cfca0fe #10 2024-05-07 17:30:17 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 4f98da123143bf808473044977926c723cfca0fe #10 2024-05-07 17:30:54 ~6 min tests :page_facing_up:log
:heavy_check_mark: 4f98da123143bf808473044977926c723cfca0fe #10 2024-05-07 17:32:45 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 4f98da123143bf808473044977926c723cfca0fe #10 2024-05-07 17:32:51 ~8 min android :robot:apk :calling:
:x: d1ef914b9db7aed17a5db667982e92b1afb813f7 #11 2024-05-08 11:43:32 ~2 min tests :page_facing_up:log
:heavy_check_mark: d1ef914b9db7aed17a5db667982e92b1afb813f7 #11 2024-05-08 11:49:48 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: d1ef914b9db7aed17a5db667982e92b1afb813f7 #11 2024-05-08 11:51:22 ~10 min android-e2e :robot:apk :calling:
:heavy_check_mark: d1ef914b9db7aed17a5db667982e92b1afb813f7 #11 2024-05-08 11:51:43 ~10 min android :robot:apk :calling:
:heavy_check_mark: 6a09720f3124e389b76ca0e9e2420dc9cf91d2cb #12 2024-05-08 16:07:26 ~3 min tests :page_facing_up:log
:heavy_check_mark: 6a09720f3124e389b76ca0e9e2420dc9cf91d2cb #12 2024-05-08 16:09:12 ~5 min android :robot:apk :calling:
:heavy_check_mark: 6a09720f3124e389b76ca0e9e2420dc9cf91d2cb #12 2024-05-08 16:11:53 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 6a09720f3124e389b76ca0e9e2420dc9cf91d2cb #12 2024-05-08 16:11:58 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 72a87cd9b3f64fc3739ed962b6f010c6c7276bfe #13 2024-05-08 16:18:08 ~4 min tests :page_facing_up:log
:heavy_check_mark: 72a87cd9b3f64fc3739ed962b6f010c6c7276bfe #13 2024-05-08 16:20:00 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 72a87cd9b3f64fc3739ed962b6f010c6c7276bfe #13 2024-05-08 16:22:17 ~8 min android :robot:apk :calling:
:heavy_check_mark: 72a87cd9b3f64fc3739ed962b6f010c6c7276bfe #13 2024-05-08 16:22:28 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 7435066c68f1c19421b054b4479c3d807b2f7147 #15 2024-05-09 14:40:50 ~6 min android :robot:apk :calling:
:heavy_check_mark: 7435066c68f1c19421b054b4479c3d807b2f7147 #15 2024-05-09 14:42:45 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 7435066c68f1c19421b054b4479c3d807b2f7147 #15 2024-05-09 14:44:16 ~9 min tests :page_facing_up:log
:heavy_check_mark: 7435066c68f1c19421b054b4479c3d807b2f7147 #15 2024-05-09 14:47:37 ~12 min ios :iphone:ipa :calling:
:x: 505e486489f864e9e0901272994d615fcf355c9c #16 2024-05-09 18:21:23 ~2 min tests :page_facing_up:log
:x: 90d6c6ceb403d039b5ba2a3df644fe0a99bde62e #17 2024-05-09 18:24:13 ~2 min tests :page_facing_up:log
:heavy_check_mark: 90d6c6ceb403d039b5ba2a3df644fe0a99bde62e #17 2024-05-09 18:27:06 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 90d6c6ceb403d039b5ba2a3df644fe0a99bde62e #17 2024-05-09 18:29:35 ~8 min android :robot:apk :calling:
:heavy_check_mark: 90d6c6ceb403d039b5ba2a3df644fe0a99bde62e #17 2024-05-09 18:30:11 ~8 min ios :iphone:ipa :calling:
:x: 44111df942240f173c2cba6f1ce4e223d593d4f4 #18 2024-05-10 11:17:28 ~3 min tests :page_facing_up:log
:heavy_check_mark: 44111df942240f173c2cba6f1ce4e223d593d4f4 #18 2024-05-10 11:19:23 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 44111df942240f173c2cba6f1ce4e223d593d4f4 #18 2024-05-10 11:22:44 ~9 min android :robot:apk :calling:
:heavy_check_mark: 44111df942240f173c2cba6f1ce4e223d593d4f4 #18 2024-05-10 11:23:15 ~9 min ios :iphone:ipa :calling:
:heavy_check_mark: 34de47dcd82c181ba2544898cc3bdc1f83e00ccc #19 2024-05-10 11:44:54 ~5 min android :robot:apk :calling:
:heavy_check_mark: 34de47dcd82c181ba2544898cc3bdc1f83e00ccc #19 2024-05-10 11:45:00 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 34de47dcd82c181ba2544898cc3bdc1f83e00ccc #19 2024-05-10 11:45:58 ~6 min tests :page_facing_up:log
:heavy_check_mark: 34de47dcd82c181ba2544898cc3bdc1f83e00ccc #19 2024-05-10 11:47:35 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 054bbeee1c7d679887d2c2b4a7eaed14bfacc587 #20 2024-05-10 12:21:30 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 054bbeee1c7d679887d2c2b4a7eaed14bfacc587 #20 2024-05-10 12:21:35 ~5 min tests :page_facing_up:log
:heavy_check_mark: 054bbeee1c7d679887d2c2b4a7eaed14bfacc587 #20 2024-05-10 12:22:34 ~6 min android :robot:apk :calling:
:heavy_check_mark: 054bbeee1c7d679887d2c2b4a7eaed14bfacc587 #20 2024-05-10 12:24:26 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 3027db93bd94c0956ae874a60588e2d908d3dd8f #21 2024-05-10 12:51:23 ~5 min tests :page_facing_up:log
:heavy_check_mark: 3027db93bd94c0956ae874a60588e2d908d3dd8f #21 2024-05-10 12:53:22 ~7 min android :robot:apk :calling:
:heavy_check_mark: 3027db93bd94c0956ae874a60588e2d908d3dd8f #21 2024-05-10 12:54:26 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 3027db93bd94c0956ae874a60588e2d908d3dd8f #21 2024-05-10 12:55:07 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: ea2796b39589fca7dff20c6444df2935fcb50509 #22 2024-05-10 13:13:32 ~4 min tests :page_facing_up:log
:heavy_check_mark: ea2796b39589fca7dff20c6444df2935fcb50509 #22 2024-05-10 13:14:30 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: ea2796b39589fca7dff20c6444df2935fcb50509 #22 2024-05-10 13:14:37 ~5 min android :robot:apk :calling:
:heavy_check_mark: ea2796b39589fca7dff20c6444df2935fcb50509 #22 2024-05-10 13:20:13 ~11 min ios :iphone:ipa :calling:
:heavy_check_mark: 8f43abce2abceaa87460ef3ef1d2fcc133547a69 #23 2024-05-12 21:45:58 ~4 min tests :page_facing_up:log
:heavy_check_mark: 8f43abce2abceaa87460ef3ef1d2fcc133547a69 #23 2024-05-12 21:46:40 ~5 min android :robot:apk :calling:
:heavy_check_mark: 8f43abce2abceaa87460ef3ef1d2fcc133547a69 #23 2024-05-12 21:48:00 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: b33cc7160cdce63eaadc0c41aa09ee2ec0c17e8e #25 2024-05-12 21:56:52 ~5 min tests :page_facing_up:log
:heavy_check_mark: b33cc7160cdce63eaadc0c41aa09ee2ec0c17e8e #25 2024-05-12 21:57:35 ~5 min android :robot:apk :calling:
:heavy_check_mark: b33cc7160cdce63eaadc0c41aa09ee2ec0c17e8e #25 2024-05-12 21:59:49 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: b33cc7160cdce63eaadc0c41aa09ee2ec0c17e8e #25 2024-05-12 22:00:02 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: c6f63a37525b0e169832eecb44fc393647f81ef2 #26 2024-05-12 22:07:36 ~4 min tests :page_facing_up:log
:heavy_check_mark: c6f63a37525b0e169832eecb44fc393647f81ef2 #26 2024-05-12 22:10:16 ~7 min android :robot:apk :calling:
:heavy_check_mark: c6f63a37525b0e169832eecb44fc393647f81ef2 #26 2024-05-12 22:10:16 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: c6f63a37525b0e169832eecb44fc393647f81ef2 #26 2024-05-12 22:11:25 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: aed374643712651f14c8afbdb091f58becfdabc1 #27 2024-05-12 22:15:04 ~3 min tests :page_facing_up:log
:heavy_check_mark: aed374643712651f14c8afbdb091f58becfdabc1 #27 2024-05-12 22:18:42 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: aed374643712651f14c8afbdb091f58becfdabc1 #27 2024-05-12 22:18:49 ~7 min android :robot:apk :calling:
:heavy_check_mark: aed374643712651f14c8afbdb091f58becfdabc1 #27 2024-05-12 22:19:43 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: b6e10492f66ddbf1d8387da2574de1f83c0bff54 #28 2024-05-14 10:17:51 ~4 min tests :page_facing_up:log
:heavy_check_mark: b6e10492f66ddbf1d8387da2574de1f83c0bff54 #28 2024-05-14 10:18:59 ~5 min android :robot:apk :calling:
:heavy_check_mark: b6e10492f66ddbf1d8387da2574de1f83c0bff54 #28 2024-05-14 10:19:07 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: b6e10492f66ddbf1d8387da2574de1f83c0bff54 #28 2024-05-14 10:21:57 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: 35ac42fb981c7049a684a8d0704caef1e6f9dbe8 #29 2024-05-15 10:49:26 ~5 min tests :page_facing_up:log
:heavy_check_mark: 35ac42fb981c7049a684a8d0704caef1e6f9dbe8 #29 2024-05-15 10:49:47 ~5 min android-e2e :robot:apk :calling:
:heavy_check_mark: 35ac42fb981c7049a684a8d0704caef1e6f9dbe8 #29 2024-05-15 10:52:16 ~8 min android :robot:apk :calling:
:heavy_check_mark: 35ac42fb981c7049a684a8d0704caef1e6f9dbe8 #29 2024-05-15 10:53:27 ~9 min ios :iphone:ipa :calling:
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:heavy_check_mark: 94fa9604026e42c2b0832937d4d236121a53d69f #31 2024-05-15 12:18:12 ~5 min tests :page_facing_up:log
:heavy_check_mark: 94fa9604026e42c2b0832937d4d236121a53d69f #31 2024-05-15 12:20:50 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 94fa9604026e42c2b0832937d4d236121a53d69f #31 2024-05-15 12:21:35 ~9 min ios :iphone:ipa :calling:
:heavy_check_mark: 94fa9604026e42c2b0832937d4d236121a53d69f #31 2024-05-15 12:22:01 ~9 min android :robot:apk :calling:
:heavy_check_mark: 7732f9d6fd019831f204ded8a8a2cdfb20397608 #33 2024-05-15 14:39:22 ~6 min android :robot:apk :calling:
:x: 7732f9d6fd019831f204ded8a8a2cdfb20397608 #33 2024-05-15 14:39:46 ~6 min tests :page_facing_up:log
:heavy_check_mark: 7732f9d6fd019831f204ded8a8a2cdfb20397608 #33 2024-05-15 14:41:30 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 7732f9d6fd019831f204ded8a8a2cdfb20397608 #34 2024-05-15 14:42:22 ~1 min tests :page_facing_up:log
:heavy_check_mark: 7732f9d6fd019831f204ded8a8a2cdfb20397608 #33 2024-05-15 14:42:42 ~9 min ios :iphone:ipa :calling:

status-im-auto avatar Apr 16 '24 14:04 status-im-auto

~~I'll wait until I finish with #19696 to avoid adding unnecessary complexity to suggested routes component.~~

briansztamfater avatar Apr 22 '24 17:04 briansztamfater

:heavy_check_mark: status-mobile/prs/android-e2e/PR-19674#23 :small_blue_diamond: ~7 min 6 sec :small_blue_diamond: 8f43abce2abceaa87460ef3ef1d2fcc133547a69 :small_blue_diamond: :package: android-e2e package

status-im-auto avatar May 12 '24 21:05 status-im-auto

@J-Son89 all the comments should be addressed! Please re-review 🙏

briansztamfater avatar May 12 '24 22:05 briansztamfater

73% of end-end tests have passed

Total executed tests: 52
Failed tests: 13
Expected to fail tests: 1
Passed tests: 38
IDs of failed tests: 727230,702782,702733,704613,702948,727229,702869,703391,702947,702807,702731,727232,702775 
IDs of expected to fail tests: 703503 

Failed tests (13)

Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_community_undo_delete_message, id: 702869

    Device 1: Tap on found: Button
    Device 1: Find `Button` by `xpath`: `//*[@text="Undo"]`
    critical/chats/test_public_chat_browsing.py:112: in test_community_undo_delete_message
        self.channel.element_by_text("Undo").click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//*[@text="Undo"]` 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 TestWalletOneDevice:

    1. test_wallet_add_remove_watch_only_account, id: 727232

    Device 1: Find EditBox by accessibility id: add-address-to-watch
    Device 1: Type 0x8d2413447ff297d30bdc475f6d5cb00254685aae to EditBox
    critical/test_wallet.py:190: in test_wallet_add_remove_watch_only_account
        self.wallet_view.add_watch_only_account(address=address_to_watch, account_name=new_account_name)
    ../views/wallet_view.py:120: in add_watch_only_account
        self.account_has_activity_label.wait_for_visibility_of_element()
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Text by accessibility id:`account-has-activity` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'#cats')]
    Device 2: Looking for a message by text: it is just a message text
    critical/chats/test_public_chat_browsing.py:1092: in test_community_hashtag_links_to_community_channels
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message in community channel is not visible for user before join
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find WalletTab by accessibility id: wallet-stack-tab
    critical/test_wallet.py:117: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:39: in _get_balances_before_tx
        self.wallet_1.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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']
    critical/test_wallet.py:109: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:99: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:86: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:80: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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 TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Button by xpath: //*[@text="open community"]
    Device 1: Tap on found: Button
    critical/test_deep_and_universal_links.py:70: in test_links_open_universal_links_from_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the url https://status.app/c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    2. test_links_deep_links, id: 702775

    Device 1: Find BrowserTab by accessibility id: browser-stack-tab
    Device 1: Tap on found: BrowserTab
    critical/test_deep_and_universal_links.py:114: in test_links_deep_links
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the deep link status.app://c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Find Text by xpath: //*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    Device 2: Text is Sent
    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 2: Find OpenInStatusButton by xpath: //*[@text="Open in Status"]
    Device 2: Tap on found: OpenInStatusButton
    critical/chats/test_1_1_public_chats.py:179: in test_1_1_chat_emoji_send_reply_and_open_link
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message with emoji was not sent or received in 1-1 chat
    E    No reply received in 1-1 chat
    



    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 1: Find Button by accessibility id: jump-to
    critical/chats/test_1_1_public_chats.py:465: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_1.jump_to_card_by_text(self.username_2)
    ../views/base_view.py:674: in jump_to_card_by_text
        self.click_on_floating_jump_to()
    ../views/base_view.py:663: in click_on_floating_jump_to
        self.jump_to_button.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `jump-to` 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

    3. test_1_1_chat_send_image_save_and_share, id: 703391

    Device 1: Tap on found: Button
    Device 1: Find BaseElement by accessibility id: toast-content
    critical/chats/test_1_1_public_chats.py:440: in test_1_1_chat_send_image_save_and_share
        toast_element_text = toast_element.text
    ../views/base_element.py:237: in text
        return self.find_element().text
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: BaseElement by accessibility id: `toast-content` 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

    4. test_1_1_chat_pin_messages, id: 702731

    Device 1: Tap on found: Text
    Device 1: Find Text by xpath: //*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    critical/chats/test_1_1_public_chats.py:187: in test_1_1_chat_pin_messages
        self.chat_1.chat_element_by_text(self.message_1).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:221: in wait_for_status_to_be
        current_status = self.status
    ../views/chat_view.py:209: in status
        status = status_element.text
    ../views/base_element.py:416: in text
        text = self.find_element().text
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Text by xpath: `//*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView` 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 TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Device 1: Find CommunitiesTab by accessibility id: communities-stack-tab
    Device 1: Tap on found: CommunitiesTab
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
    E   http.client.RemoteDisconnected: Remote end closed connection without response
    
    During handling of the above exception, another exception occurred:
    activity_center/test_activity_center.py:375: in test_activity_center_reply_read_unread_delete_filter_swipe
        self.home_2.chats_tab.is_element_displayed()  # just saving device 2 session from expiration
    ../views/base_element.py:221: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:145: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:343: in execute
        response = self.command_executor.execute(driver_command, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:291: in execute
        return self._request(command_info[0], url, body=data)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:312: in _request
        response = self._conn.request(method, url, body=body, headers=headers)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:78: in request
        return self.request_encode_body(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:170: in request_encode_body
        return self.urlopen(method, url, **extra_kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/poolmanager.py:376: in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:787: in urlopen
        retries = retries.increment(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/util/retry.py:550: in increment
        raise six.reraise(type(error), error, _stacktrace)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/packages/six.py:769: in reraise
        raise value.with_traceback(tb)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
     ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    



    Device sessions

    Expected to fail tests (1)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com/status-im/status-mobile/issues/17852]]

    Passed tests (38)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    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_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    4. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    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_offline_pn, id: 702808
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    2. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    3. test_1_1_chat_edit_message, id: 702855
    Device sessions

    4. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    status-im-auto avatar May 14 '24 08:05 status-im-auto

    Hi @briansztamfater Thank you for PR. Take a look found issue:

    ISSUE 1: Supported networks shown as non-supported in the 'edit preferenced networks' drawer

    Steps:

    1. Enter a regular address or an address containing all or one supported network into the 'Send to' page.
    2. Open the 'Edit Preferred Networks' drawer.

    Actual Result:

    Supported networks are specified as non-supported for the asset.

    https://github.com/status-im/status-mobile/assets/52490791/2db5979a-2546-46c9-8252-db9a3e00c63c

    image

    Expected Result:

    Only the particular network should be shown as non-supported.

    OS:

    IOS, Android

    Devices:

    • Pixel 7a, Android 13
    • iPhone 11 Pro Max, IOS 17

    VolodLytvynenko avatar May 15 '24 11:05 VolodLytvynenko

    Sorry about that @VolodLytvynenko, issue 1 should be fixed now! Let me know if you find something else :)

    briansztamfater avatar May 15 '24 12:05 briansztamfater

    Question:

    I noticed the caution message is not the same as on design.

    Actual result:

    is not available on the recipient's desired networks. Proceed with caution image

    Expected result:

    'Unable to bridge to the recipient’s desired networks. Proceed with caution.' image https://www.figma.com/design/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?node-id=9274-75500&t=OR1NnMd80KnNh7i6-0

    I like how it looks now :) Is it somehow agreed with the design team?

    VolodLytvynenko avatar May 15 '24 12:05 VolodLytvynenko

    https://www.figma.com/design/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?node-id=9274-75500&t=OR1NnMd80KnNh7i6-0

    Hey @VolodLytvynenko! I think you are looking on a different (but similar) flow. Look at this Figma design, should be the correct text: https://www.figma.com/design/xLs1KYmF4e6WwRTZVJKeUK/Descoped-Wallet?node-id=9240-78951&t=92mkazM2JEjkLtFN-4

    briansztamfater avatar May 15 '24 12:05 briansztamfater

    @briansztamfater please reference the descoped file for now- should be fine but I think it's best we use that as a point of reference until we complete what's in it.

    J-Son89 avatar May 15 '24 12:05 J-Son89

    @briansztamfater please reference the descoped file for now- should be fine but I think it's best we use that as a point of reference until we complete what's in it.

    Sure, edited the comment to avoid confusion.

    briansztamfater avatar May 15 '24 12:05 briansztamfater

    Hi @briansztamfater one more issue is found. Take a look, please

    ISSUE 2: Unsupported networks caution not shown for non-supported networks in the 'edit preferenced networks' drawer

    Steps:

    1. Enter an address with prefix of supported network in 'sent to' page (in case of SNT sending enter addresses like: eth:0x.. or arb1:0x..)
    2. Open the 'Edit Preferred Networks' drawer.

    Actual Result:

    Unsupported networks are not specified as non-supported for the asset.

    https://github.com/status-im/status-mobile/assets/52490791/a2dec14b-ee7d-45e8-a45d-380e6f6830c3

    Expected Result:

    Unsupported networks are specified as non-supported

    OS:

    IOS, Android

    Devices:

    • Pixel 7a, Android 13
    • iPhone 11 Pro Max, IOS 17

    VolodLytvynenko avatar May 15 '24 12:05 VolodLytvynenko

    81% of end-end tests have passed

    Total executed tests: 52
    Failed tests: 8
    Expected to fail tests: 2
    Passed tests: 42
    
    IDs of failed tests: 727230,702809,704613,727229,702936,702947,702807,702775 
    
    IDs of expected to fail tests: 703495,703503 
    

    Failed tests (8)

    Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Find `Text` by `xpath`: `//*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView`
    Device 2: `Text` is `Sent`
    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809

    Device 1: Looking for a message by text: quote reply (one row)
    Device 2: Looking for a message by text: quote reply (one row)
    critical/chats/test_public_chat_browsing.py:981: in test_community_markdown_support
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     bold text in underscores is not displayed with markdown in community channel for the recipient (device 1)
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find WalletTab by accessibility id: wallet-stack-tab
    critical/test_wallet.py:117: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:39: in _get_balances_before_tx
        self.wallet_1.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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']
    critical/test_wallet.py:109: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:99: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:86: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:80: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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 TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Button by xpath: //*[@text="open community"]
    Device 1: Tap on found: Button
    critical/test_deep_and_universal_links.py:70: in test_links_open_universal_links_from_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the url https://status.app/c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    2. test_links_deep_links, id: 702775

    Device 1: Find BrowserTab by accessibility id: browser-stack-tab
    Device 1: Tap on found: BrowserTab
    critical/test_deep_and_universal_links.py:114: in test_links_deep_links
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the deep link status.app://c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936

    # STEP: Send message to contact (need for jump to) test
    Device 1: Looking for chat: 'user2'
    Test setup failed: ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
    E   http.client.RemoteDisconnected: Remote end closed connection without response
    
    During handling of the above exception, another exception occurred:
    activity_center/test_activity_center.py:263: in prepare_devices
        self.chat_1 = self.home_1.get_chat(self.username_2).click()
    ../views/home_view.py:375: in get_chat
        if not chat_element.is_element_displayed(wait_time) and community is False and community_channel is False:
    ../views/base_element.py:221: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:145: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:343: in execute
        response = self.command_executor.execute(driver_command, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:291: in execute
        return self._request(command_info[0], url, body=data)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:312: in _request
        response = self._conn.request(method, url, body=body, headers=headers)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:78: in request
        return self.request_encode_body(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:170: in request_encode_body
        return self.urlopen(method, url, **extra_kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/poolmanager.py:376: in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:787: in urlopen
        retries = retries.increment(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/util/retry.py:550: in increment
        raise six.reraise(type(error), error, _stacktrace)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/packages/six.py:769: in reraise
        raise value.with_traceback(tb)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
     ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    



    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Test setup failed: ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
    E   http.client.RemoteDisconnected: Remote end closed connection without response
    
    During handling of the above exception, another exception occurred:
    activity_center/test_activity_center.py:263: in prepare_devices
        self.chat_1 = self.home_1.get_chat(self.username_2).click()
    ../views/home_view.py:375: in get_chat
        if not chat_element.is_element_displayed(wait_time) and community is False and community_channel is False:
    ../views/base_element.py:221: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:145: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:343: in execute
        response = self.command_executor.execute(driver_command, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:291: in execute
        return self._request(command_info[0], url, body=data)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:312: in _request
        response = self._conn.request(method, url, body=body, headers=headers)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:78: in request
        return self.request_encode_body(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:170: in request_encode_body
        return self.urlopen(method, url, **extra_kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/poolmanager.py:376: in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:787: in urlopen
        retries = retries.increment(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/util/retry.py:550: in increment
        raise six.reraise(type(error), error, _stacktrace)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/packages/six.py:769: in reraise
        raise value.with_traceback(tb)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
     ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    



    Expected to fail tests (2)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement
    critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com/status-im/status-mobile/issues/19627]]

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com/status-im/status-mobile/issues/17852]]

    Passed tests (42)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_reactions, id: 703202
    Device sessions

    4. test_group_chat_offline_pn, id: 702808
    Device sessions

    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 TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    2. test_wallet_add_remove_watch_only_account, id: 727232
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    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 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 TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    4. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    status-im-auto avatar May 15 '24 12:05 status-im-auto

    Asked about issue 2 https://github.com/status-im/status-mobile/pull/19674#issuecomment-2112444891 design team https://discord.com/channels/624634427930312714/852533718790570015/1240292959732371486

    VolodLytvynenko avatar May 15 '24 13:05 VolodLytvynenko

    83% of end-end tests have passed

    Total executed tests: 52
    Failed tests: 7
    Expected to fail tests: 2
    Passed tests: 43
    
    IDs of failed tests: 727230,702782,704613,702851,727229,702807,702775 
    
    IDs of expected to fail tests: 703495,703503 
    

    Failed tests (7)

    Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Find `Text` by `xpath`: `//*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView`
    Device 2: `Text` is `Sent`
    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find WalletTab by accessibility id: wallet-stack-tab
    critical/test_wallet.py:117: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:39: in _get_balances_before_tx
        self.wallet_1.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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']
    critical/test_wallet.py:109: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:99: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:86: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:80: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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 TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 1: Find BaseElement by xpath: //*[@content-desc=':chat-floating-screen']//*[starts-with(@text,'👩🏻‍💼')]
    Device 1: Long press on BaseElement until expected element is shown
    critical/chats/test_1_1_public_chats.py:117: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_1.quote_message(emoji_unicode)
    ../views/chat_view.py:1040: in quote_message
        self.chat_view_element_starts_with_text(message).long_press_until_element_is_shown(self.reply_message_button)
    ../views/base_element.py:331: in long_press_until_element_is_shown
        action.long_press(element).release().perform()
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/common/touch_action.py:174: in perform
        self._driver.execute(Command.TOUCH_ACTION, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    ../../../../status-app-prs@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=':chat-floating-screen']//*[starts-with(@text,'👩🏻‍💼')]' 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.xpath: //*[@content-desc=':chat-floating-screen']//*[starts-with(@text,'👩🏻‍💼')]' 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.Location.safeHandle(Location.java:23)
    E   	at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:277)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:271)
    E   	at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:68)
    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 TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

    Device 1: Tap on found: Button
    # STEP: Device1 check that contact appeared in contact list mutually
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
    E   http.client.RemoteDisconnected: Remote end closed connection without response
    
    During handling of the above exception, another exception occurred:
    activity_center/test_activity_center.py:141: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.device_2.just_fyi('Device1 check that contact appeared in contact list mutually')
    ../views/base_view.py:410: in just_fyi
        self.driver.execute_script("sauce:context=STEP: %s" % some_str)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:405: in execute_script
        return self.execute(command, {"script": script, "args": converted_args})["value"]
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:343: in execute
        response = self.command_executor.execute(driver_command, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:291: in execute
        return self._request(command_info[0], url, body=data)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py:312: in _request
        response = self._conn.request(method, url, body=body, headers=headers)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:78: in request
        return self.request_encode_body(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/request.py:170: in request_encode_body
        return self.urlopen(method, url, **extra_kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/poolmanager.py:376: in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:787: in urlopen
        retries = retries.increment(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/util/retry.py:550: in increment
        raise six.reraise(type(error), error, _stacktrace)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/packages/six.py:769: in reraise
        raise value.with_traceback(tb)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:703: in urlopen
        httplib_response = self._make_request(
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:449: in _make_request
        six.raise_from(e, None)
    <string>:3: in raise_from
        ???
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/urllib3/connectionpool.py:444: in _make_request
        httplib_response = conn.getresponse()
    /usr/lib/python3.10/http/client.py:1375: in getresponse
        response.begin()
    /usr/lib/python3.10/http/client.py:318: in begin
        version, status, reason = self._read_status()
    /usr/lib/python3.10/http/client.py:287: in _read_status
        raise RemoteDisconnected("Remote end closed connection without"
     ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
    



    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Button by xpath: //*[@text="open community"]
    Device 1: Tap on found: Button
    critical/test_deep_and_universal_links.py:70: in test_links_open_universal_links_from_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the url https://status.app/c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    2. test_links_deep_links, id: 702775

    Device 1: Find BrowserTab by accessibility id: browser-stack-tab
    Device 1: Tap on found: BrowserTab
    critical/test_deep_and_universal_links.py:114: in test_links_deep_links
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the deep link status.app://c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    Expected to fail tests (2)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement
    critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com/status-im/status-mobile/issues/19627]]

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com/status-im/status-mobile/issues/17852]]

    Passed tests (43)

    Click to expand

    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_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_reactions, id: 703202
    Device sessions

    4. test_group_chat_offline_pn, id: 702808
    Device sessions

    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 TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    2. test_wallet_add_remove_watch_only_account, id: 727232
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_edit_message, id: 702855
    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    6. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    5. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    status-im-auto avatar May 15 '24 13:05 status-im-auto

    PR_ISSUE 3: The 'sending to unpreferred' Drawer shown when making changes in preferred Networks

    Steps:

    1. Enter a regular address or an address with a multichain address.
    2. Open the 'Edit Receiver Networks' drawer.
    3. Make changes only in the Preferred by Receiver section. image
    4. Go to the next step of asset sending.

    Actual result:

    The 'sending to unpreferred networks' drawer is shown when the user makes settings in the preferred section. image

    Expected result:

    The 'sending to unpreferred networks' drawer should be shown when the user makes settings only in the unpreferred section.

    OS:

    IOS, Android

    Devices:

    • Pixel 7a, Android 13
    • iPhone 11 Pro Max, IOS 17

    VolodLytvynenko avatar May 15 '24 13:05 VolodLytvynenko

    Design team answer related to issue 2 https://discord.com/channels/624634427930312714/852533718790570015/1240300591914160222

    "not available" state should be shown for all networks including those that shown in the unpreferred section

    VolodLytvynenko avatar May 15 '24 13:05 VolodLytvynenko

    @VolodLytvynenko thanks for the feedback, issues should be fixed now 🙏

    briansztamfater avatar May 15 '24 14:05 briansztamfater

    85% of end-end tests have passed

    Total executed tests: 52
    Failed tests: 6
    Expected to fail tests: 2
    Passed tests: 44
    
    IDs of failed tests: 727230,702732,704613,727229,702807,702775 
    
    IDs of expected to fail tests: 703495,703503 
    

    Failed tests (6)

    Click to expand
  • Rerun failed tests

  • Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find `WalletTab` by `accessibility id`: `wallet-stack-tab`
    critical/test_wallet.py:117: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:39: in _get_balances_before_tx
        self.wallet_1.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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']
    critical/test_wallet.py:109: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:99: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:86: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:80: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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 TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Button by xpath: //*[@text="open community"]
    Device 1: Tap on found: Button
    critical/test_deep_and_universal_links.py:70: in test_links_open_universal_links_from_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the url https://status.app/c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    2. test_links_deep_links, id: 702775

    Device 1: Find BrowserTab by accessibility id: browser-stack-tab
    Device 1: Tap on found: BrowserTab
    critical/test_deep_and_universal_links.py:114: in test_links_deep_links
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Open community for e2e' was not requested to join by the deep link status.app://c/G1AAAGR0G-IRb2YJD4lRXwLusAFnGrDHGNl6Wt55MIARwVYvarnO873011-fdVSz1kHSan-qq0G96vOaMqyTRhJnQV74KCUr#zQ3shb9irJR66rhG1E8sQZX8pDU3dpGm4daYSmPVDd2e73ewE
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Device 2: Text is user admin
    Device 2: Looking for a pinned by message with text: Message 4
    critical/chats/test_group_chat.py:404: in test_group_chat_pin_messages
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Pinned messages count 2 doesn't match expected 3 for user 2
    E    Message 'Message 4' is missed on Pinned messages list for user 2
    



    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Find Text by xpath: //*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    Device 2: Text is Sent
    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    Expected to fail tests (2)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement
    critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com/status-im/status-mobile/issues/19627]]

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com/status-im/status-mobile/issues/17852]]

    Passed tests (44)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    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 TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    2. test_group_chat_reactions, id: 703202
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    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 TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    5. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    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 TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    2. test_wallet_add_remove_watch_only_account, id: 727232
    Device sessions

    status-im-auto avatar May 15 '24 15:05 status-im-auto

    hi @briansztamfater thank you for PR. No issues from my side. Ready to be merged

    VolodLytvynenko avatar May 15 '24 15:05 VolodLytvynenko