Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ability to add watch-only account #17868

Merged
merged 2 commits into from
Dec 1, 2023
Merged

add ability to add watch-only account #17868

merged 2 commits into from
Dec 1, 2023

Conversation

J-Son89
Copy link
Contributor

@J-Son89 J-Son89 commented Nov 10, 2023

fixes: #17742
This pr connects watch only flow with status go so that watch only addresses can be added.

It also makes a number of UI changes related to watch-only -account

Home Page

  • Show Watch only styled cards

Account Page

  • show watch only icon
  • show correct UI for "About Tab"
  • show correct tabs for watch only type account

Testing notes:

  • Add some watch only addresses and then view these in the account explorer etc.
  • there is an issue with the toasts in this pr, I couldn't figure it out but I will add as a follow up preferably as watch-only accounts are good for testing/ building out the data connection - e.g seeing assets/collectibles in the account page
  • the navigation after adding a watch only account is also not 100% - however we need to clean up the navigation there anyway so I would prefer to do this in a follow up as I think there is value in this happy path being opened up first 👍

To test this page, you can navigate to the new wallet UI. go to the flow of Add a watch only account and then you can actually add an address by going to ether scan. e.g https://etherscan.io/address/0x12E838Ae1f769147b12956485dc56e57138f3AC8

trim.10A1BC4A-9745-4D87-929A-62D57DBA37F3.MOV

@J-Son89 J-Son89 self-assigned this Nov 10, 2023
@status-im-auto
Copy link
Member

status-im-auto commented Nov 10, 2023

Jenkins Builds

Click to see older builds (107)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ c272c9f #1 2023-11-10 08:33:30 ~6 min android-e2e 🤖apk 📲
✔️ c272c9f #1 2023-11-10 08:35:43 ~9 min ios 📱ipa 📲
✔️ c272c9f #1 2023-11-10 08:35:53 ~9 min android 🤖apk 📲
✔️ c272c9f #1 2023-11-10 08:36:06 ~9 min tests 📄log
✔️ 6dcfd45 #2 2023-11-10 08:50:06 ~6 min android 🤖apk 📲
✔️ 6dcfd45 #2 2023-11-10 08:50:23 ~6 min android-e2e 🤖apk 📲
✔️ 6dcfd45 #2 2023-11-10 08:51:32 ~7 min ios 📱ipa 📲
✔️ 6dcfd45 #2 2023-11-10 08:52:44 ~8 min tests 📄log
✔️ 95207b9 #3 2023-11-10 09:03:14 ~5 min android-e2e 🤖apk 📲
✔️ 95207b9 #3 2023-11-10 09:04:29 ~6 min ios 📱ipa 📲
✔️ 95207b9 #3 2023-11-10 09:07:03 ~9 min android 🤖apk 📲
✔️ 95207b9 #3 2023-11-10 09:07:17 ~9 min tests 📄log
7dbf0c4 #4 2023-11-10 09:48:01 ~2 min tests 📄log
✔️ 7dbf0c4 #4 2023-11-10 09:51:44 ~5 min android-e2e 🤖apk 📲
✔️ 7dbf0c4 #4 2023-11-10 09:51:48 ~5 min android 🤖apk 📲
207150d #5 2023-11-10 10:27:44 ~2 min tests 📄log
✔️ 207150d #5 2023-11-10 10:31:17 ~5 min android 🤖apk 📲
✔️ 207150d #5 2023-11-10 10:31:29 ~5 min android-e2e 🤖apk 📲
✔️ 207150d #5 2023-11-10 10:32:17 ~6 min ios 📱ipa 📲
e57b990 #6 2023-11-10 10:45:16 ~1 min tests 📄log
✔️ e57b990 #6 2023-11-10 10:48:58 ~5 min ios 📱ipa 📲
✔️ e57b990 #6 2023-11-10 10:49:21 ~5 min android 🤖apk 📲
✔️ e57b990 #6 2023-11-10 10:49:39 ~6 min android-e2e 🤖apk 📲
e500080 #7 2023-11-10 15:33:43 ~2 min tests 📄log
a7a7755 #8 2023-11-10 15:38:38 ~2 min tests 📄log
✔️ a7a7755 #8 2023-11-10 15:42:01 ~5 min ios 📱ipa 📲
✔️ a7a7755 #8 2023-11-10 15:42:30 ~5 min android 🤖apk 📲
✔️ a7a7755 #8 2023-11-10 15:42:50 ~6 min android-e2e 🤖apk 📲
1c8bb68 #9 2023-11-10 16:36:36 ~2 min tests 📄log
✔️ 1c8bb68 #9 2023-11-10 16:39:58 ~5 min android-e2e 🤖apk 📲
✔️ 1c8bb68 #9 2023-11-10 16:39:59 ~5 min android 🤖apk 📲
✔️ 1c8bb68 #9 2023-11-10 16:40:49 ~6 min ios 📱ipa 📲
1c184ce #10 2023-11-13 20:37:19 ~2 min tests 📄log
✔️ 1c184ce #10 2023-11-13 20:41:12 ~6 min android 🤖apk 📲
a265ac6 #11 2023-11-13 20:43:08 ~1 min tests 📄log
d501b86 #12 2023-11-13 20:46:56 ~2 min tests 📄log
e08a523 #13 2023-11-13 20:49:49 ~1 min tests 📄log
✔️ e08a523 #13 2023-11-13 20:53:30 ~5 min android-e2e 🤖apk 📲
✔️ e08a523 #13 2023-11-13 20:53:51 ~6 min android 🤖apk 📲
✔️ e08a523 #13 2023-11-13 20:59:47 ~11 min ios 📱ipa 📲
4eed408 #14 2023-11-20 00:32:43 ~2 min tests 📄log
✔️ 4eed408 #14 2023-11-20 00:35:45 ~5 min android-e2e 🤖apk 📲
✔️ 4eed408 #14 2023-11-20 00:36:08 ~6 min android 🤖apk 📲
✔️ 4eed408 #14 2023-11-20 00:43:29 ~13 min ios 📱ipa 📲
5d806c8 #15 2023-11-20 16:27:06 ~2 min tests 📄log
✔️ 5d806c8 #15 2023-11-20 16:31:10 ~6 min android-e2e 🤖apk 📲
✔️ 5d806c8 #15 2023-11-20 16:31:11 ~6 min android 🤖apk 📲
✔️ 5d806c8 #15 2023-11-20 16:36:31 ~11 min ios 📱ipa 📲
971be5b #16 2023-11-21 10:08:21 ~2 min tests 📄log
✔️ 971be5b #16 2023-11-21 10:12:48 ~6 min android-e2e 🤖apk 📲
✔️ 971be5b #16 2023-11-21 10:12:52 ~7 min android 🤖apk 📲
✔️ 971be5b #16 2023-11-21 10:13:20 ~7 min ios 📱ipa 📲
971be5b #17 2023-11-22 12:47:18 ~10 min tests 📄log
✔️ 38248e7 #17 2023-11-22 18:25:53 ~6 min android-e2e 🤖apk 📲
✔️ 38248e7 #17 2023-11-22 18:26:06 ~6 min android 🤖apk 📲
✔️ 38248e7 #17 2023-11-22 18:26:13 ~6 min ios 📱ipa 📲
f40e615 #19 2023-11-27 08:55:51 ~3 min tests 📄log
✔️ f40e615 #18 2023-11-27 08:58:36 ~5 min android 🤖apk 📲
✔️ f40e615 #18 2023-11-27 08:59:17 ~6 min ios 📱ipa 📲
✔️ f40e615 #18 2023-11-27 08:59:43 ~7 min android-e2e 🤖apk 📲
8ef8762 #20 2023-11-29 11:50:15 ~2 min tests 📄log
✔️ 8ef8762 #19 2023-11-29 11:53:41 ~6 min android 🤖apk 📲
✔️ 8ef8762 #19 2023-11-29 11:54:22 ~7 min android-e2e 🤖apk 📲
✔️ bd1edad #20 2023-11-29 12:02:51 ~6 min android-e2e 🤖apk 📲
✔️ bd1edad #20 2023-11-29 12:06:45 ~10 min android 🤖apk 📲
bd1edad #21 2023-11-29 12:09:14 ~13 min tests 📄log
✔️ bd1edad #20 2023-11-29 12:09:14 ~13 min ios 📱ipa 📲
✔️ 3f7dfea #21 2023-11-29 12:23:21 ~6 min android-e2e 🤖apk 📲
✔️ 3f7dfea #22 2023-11-29 12:28:44 ~11 min tests 📄log
✔️ 3f7dfea #21 2023-11-29 12:28:50 ~11 min android 🤖apk 📲
✔️ 3f7dfea #21 2023-11-29 12:31:16 ~13 min ios 📱ipa 📲
f1c284a #23 2023-11-29 13:27:56 ~2 min tests 📄log
✔️ f1c284a #22 2023-11-29 13:31:22 ~6 min ios 📱ipa 📲
✔️ f1c284a #22 2023-11-29 13:31:41 ~6 min android-e2e 🤖apk 📲
✔️ f1c284a #22 2023-11-29 13:31:48 ~6 min android 🤖apk 📲
✔️ d9a3d42 #23 2023-11-29 14:01:25 ~6 min ios 📱ipa 📲
✔️ d9a3d42 #23 2023-11-29 14:01:36 ~6 min android-e2e 🤖apk 📲
✔️ d9a3d42 #23 2023-11-29 14:01:43 ~6 min android 🤖apk 📲
✔️ d9a3d42 #24 2023-11-29 14:05:12 ~10 min tests 📄log
✔️ 8c9de66 #24 2023-11-29 17:47:19 ~5 min android-e2e 🤖apk 📲
✔️ 8c9de66 #24 2023-11-29 17:52:25 ~11 min android 🤖apk 📲
✔️ 8c9de66 #24 2023-11-29 17:53:11 ~11 min ios 📱ipa 📲
✔️ 8c9de66 #25 2023-11-29 17:53:22 ~12 min tests 📄log
✔️ a0dbbb5 #25 2023-11-29 18:02:32 ~7 min android 🤖apk 📲
✔️ a0dbbb5 #25 2023-11-29 18:05:20 ~10 min android-e2e 🤖apk 📲
✔️ a0dbbb5 #26 2023-11-29 18:06:58 ~11 min tests 📄log
✔️ a0dbbb5 #25 2023-11-29 18:07:51 ~12 min ios 📱ipa 📲
✔️ 27bfb3d #26 2023-11-30 12:38:21 ~11 min android-e2e 🤖apk 📲
✔️ 27bfb3d #26 2023-11-30 12:38:33 ~11 min android 🤖apk 📲
✔️ 27bfb3d #27 2023-11-30 12:39:03 ~12 min tests 📄log
✔️ 27bfb3d #26 2023-11-30 12:40:22 ~13 min ios 📱ipa 📲
3fcb02d #28 2023-11-30 17:13:28 ~3 min tests 📄log
✔️ 3fcb02d #27 2023-11-30 17:17:28 ~7 min android-e2e 🤖apk 📲
✔️ 3fcb02d #27 2023-11-30 17:18:25 ~8 min android 🤖apk 📲
✔️ 3fcb02d #27 2023-11-30 17:21:38 ~11 min ios 📱ipa 📲
✔️ 2d2bd1b #28 2023-11-30 21:35:35 ~6 min android 🤖apk 📲
✔️ 2d2bd1b #28 2023-11-30 21:40:21 ~10 min android-e2e 🤖apk 📲
✔️ 2d2bd1b #29 2023-11-30 21:40:53 ~11 min tests 📄log
✔️ 2d2bd1b #28 2023-11-30 21:41:16 ~11 min ios 📱ipa 📲
✔️ 0b35378 #29 2023-11-30 22:08:01 ~6 min ios 📱ipa 📲
✔️ 0b35378 #29 2023-11-30 22:08:24 ~6 min android-e2e 🤖apk 📲
✔️ 0b35378 #29 2023-11-30 22:08:26 ~7 min android 🤖apk 📲
✔️ 0b35378 #30 2023-11-30 22:11:27 ~9 min tests 📄log
✔️ 1f10d3d #30 2023-11-30 22:27:57 ~5 min android 🤖apk 📲
✔️ 1f10d3d #30 2023-11-30 22:28:25 ~6 min ios 📱ipa 📲
✔️ 1f10d3d #30 2023-11-30 22:30:36 ~8 min android-e2e 🤖apk 📲
✔️ 1f10d3d #31 2023-11-30 22:32:41 ~10 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ a91bcff #31 2023-12-01 11:55:22 ~6 min android 🤖apk 📲
✔️ a91bcff #31 2023-12-01 11:57:58 ~8 min android-e2e 🤖apk 📲
✔️ a91bcff #32 2023-12-01 12:00:43 ~11 min tests 📄log
✔️ a91bcff #31 2023-12-01 12:02:09 ~12 min ios 📱ipa 📲
✔️ b330181 #32 2023-12-01 12:21:51 ~5 min android-e2e 🤖apk 📲
✔️ b330181 #32 2023-12-01 12:22:34 ~6 min ios 📱ipa 📲
✔️ b330181 #32 2023-12-01 12:24:37 ~8 min android 🤖apk 📲
✔️ b330181 #33 2023-12-01 12:27:10 ~11 min tests 📄log

@J-Son89 J-Son89 force-pushed the jc/watch-acc branch 2 times, most recently from 95207b9 to 7dbf0c4 Compare November 10, 2023 09:45
@J-Son89 J-Son89 closed this Nov 10, 2023
@J-Son89 J-Son89 reopened this Nov 10, 2023
@J-Son89 J-Son89 changed the title demo branch with ability to watch an account add ability to add watch-only account Nov 10, 2023
@@ -133,7 +133,7 @@
| key | description |
| -------------|-------------|
| `:account-name` | A value representing the account name (default `nil`)
| `:account` | A value that represents if the account is a `:watched-account` or a `:default` account. (default `nil`)
| `:account` | A value that represents if the account is a `:watched-address` or a `:default` account. (default `nil`)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aligns with figma + use in component 👍

@J-Son89 J-Son89 marked this pull request as ready for review November 10, 2023 16:33
@J-Son89 J-Son89 requested a review from mmilad75 November 10, 2023 16:34
[react-native.core :as rn]
[status-im2.contexts.wallet.account.tabs.about.style :as style]
[status-im2.contexts.wallet.common.temp :as temp]
[utils.i18n :as i18n]
[utils.re-frame :as rf]))

(defn description
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused as far as I can see. 🤔

:on-press #(rf/dispatch [:show-bottom-sheet {:content about-options}])})]
[quo/account-origin temp/account-origin-state]])

(def view (quo.theme/with-theme view-internal))
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with-theme not actually used 👍

:status :default
:size :default
:title (if watch-only? (i18n/label :t/watched-address) (i18n/label :t/address))
:custom-subtitle (fn [] [quo/address-text
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adjusted ui for watch only. not keypair data and the label title is correct there.

{:id :about :label (i18n/label :t/about) :accessibility-label :about}])
(def first-tab-id :assets)

(defn tabs-data
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filter some tabs out for watch only view. code suggestions welcome :) perhaps a filter on id is cleaner 🤔

:buy-action #(rf/dispatch [:show-bottom-sheet
{:content buy-drawer}])
:bridge-action #(rf/dispatch [:open-modal :wallet-bridge])}]
(when (not watch-only?)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hide cta's for watch only accounts

@@ -19,7 +19,7 @@
number-of-accounts (count (rf/sub [:profile/wallet-accounts]))
account-name (reagent/atom (i18n/label :t/default-account-name
{:number (inc number-of-accounts)}))
address-title (i18n/label :t/watch-address)
address-title (i18n/label :t/watched-address)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct label 👍

:on-press #(re-frame/dispatch [:navigate-to
:wallet-account])}}
:on-press #(re-frame/dispatch [:wallet/add-account
nil
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dispatch for add-account, I will make nil a def of empty-password

:icon :i/correct
:icon-color colors/success-50
:text (i18n/label :t/account-created {:name name})}]]]})))
:fx [(when account
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some strange issue where it's not finding the "name" for watched accounts but is for normal accounts 🤷‍♂️ .
If I log get-in db [:wallet :accounts]) the corresponding account details are there but the look up is not working by address.
Quite strange so I might create a separate issue to investigate it and not block watch only accounts functionality.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something related to clojure.core/name 🤔
If you need help investigating the issue, let me know 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @ulisesmac - given that watch-only accounts are helpful for testing data (e.g we can use accounts with collectibles/assets etc) I will not block this pr but add it as a follow up issue. The address is added find and there's no issues. The name showed once or twice for me, but mostly not. but you could be right with the shadowed var, although I logged the data and it was not showing at all in some cases so I think some form of timing issue, pero no sé

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we have an open issue for this, I can take a look 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok nice, I will create it!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ulisesmac found the problem :) The problem was that when you copy an address from Etherscan the letters are uppercase however Status go always returns these as lower case. So then for watch only accounts it could not find the account in the map.
cc @smohamedjavid

I think we should eventually add some handling to the address input page so it goes lower case, but for now I will force the event handling the add account to lowercase 👍

@@ -57,9 +58,9 @@
[:dispatch [:hide-bottom-sheet]]
[:dispatch-later
[{:dispatch [:navigate-back]
:ms 100}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trying to fix toast bug, I can revert. either way we need to clean this up with correct transition eventually.

@@ -104,7 +105,7 @@

(rf/defn scan-address-success
{:events [:wallet/scan-address-success]}
[{:keys [db]} address]
[{:keys [db]} [address]]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will revert 🗡️

:name account-name
:emoji emoji
:path path
:address address
:public-key public-key
:colorID color}]
{:db (update db
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to on-success

:new-account? true)
:fx [[:dispatch-later
[{:dispatch [:wallet/get-accounts]
:ms 1500}]]]}))
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

must clean

@J-Son89
Copy link
Contributor Author

J-Son89 commented Nov 30, 2023

Thanks @VolodLytvynenko! I thought I had that addressed. Must have been a rebase issue. Will address properly!

Copy link
Contributor

@mmilad75 mmilad75 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice code man 🚀

@J-Son89
Copy link
Contributor Author

J-Son89 commented Nov 30, 2023

Actually @VolodLytvynenko - I double checked now and I see that Issue 5 is related to the same issue as the navigation after making a watch only account - basically it is missing the data needed for the UI and also to discriminate and let that page know it is a watch only account and to hide the buttons. This will be fixed in the same follow up issue 👍

@J-Son89 J-Son89 force-pushed the jc/watch-acc branch 4 times, most recently from 0b35378 to 1f10d3d Compare November 30, 2023 22:21
@J-Son89
Copy link
Contributor Author

J-Son89 commented Nov 30, 2023

@VolodLytvynenko - I found the issue that was causing the navigation to watch only accounts to not be right.
I have addressed here, however if you prefer that I make this in a follow up pr and rollback to the previous commit where we last discussed then let me know 👍
Feel free to ping me before you start looking at this again :)

@Francesca-G
Copy link

Issue 2 is related to the account-card component - @Francesca-G could you take a look and let me know what you think it should look like here, is this expected for the component? either way I can make a separate issue for that as it is related to the Design system component.

Yes, it shouldn't look like that. The account name should stay on one line and end with ellipsis (...)

Here's an example:
https://www.figma.com/file/HKncH4wnDwZDAhc4AryK8Y/Wallet-for-Mobile?type=design&node-id=7014%3A65125&mode=design&t=AYBw5yLYHfVclhgo-1

Screenshot 2023-12-01 alle 10 13 24

@status-im-auto
Copy link
Member

83% of end-end tests have passed

Total executed tests: 48
Failed tests: 4
Expected to fail tests: 4
Passed tests: 40
IDs of failed tests: 703133,703086,702948,702947 
IDs of expected to fail tests: 702732,703503,702731,702808 

Failed tests (4)

Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find `Button` by `accessibility id`: `show-profiles`
    Device 1: Tap on found: Button

    critical/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Incorrect contacts number restored: 0 instead of 2
    E    member_open was not restored from waku-backup!!
    E    admin_closed was not restored from waku-backup!!
    E    member_closed was not restored from waku-backup!!
    



    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Device 1: Tap on found: CommunitiesTab
    Device 2: Looking for a message by text: something to reply to

    activity_center/test_activity_center.py:283: in test_activity_center_reply_read_unread_delete_filter_swipe
        self.channel_2.chat_element_by_text(message_to_reply).wait_for_visibility_of_element(120)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'something to reply to')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mark_all_messages_as_read, id: 703086

    Device 1: Tap on found: Button
    Device 1: Click until Text by accessibility id: community-description-text will be presented

    critical/chats/test_public_chat_browsing.py:769: in test_community_mark_all_messages_as_read
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Unread messages badge is shown in community element while there are no unread messages
    E    New messages badge is shown in community channel element while there are no unread messages
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'Where is a cat?'

    critical/chats/test_public_chat_browsing.py:1004: in test_community_hashtag_links_to_community_channels
        self.channel_1.send_message(cats_message)
    ../views/chat_view.py:1003: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:121: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element; 
     RemoteDisconnected
    



    Device sessions

    Expected to fail tests (4)

    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//issues/17852]]

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    2. test_group_chat_offline_pn, id: 702808

    Device 3: Looking for a message by text: message from old member
    Device 3: Looking for a message by text: message from new member

    critical/chats/test_group_chat.py:323: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    Passed tests (40)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_open_universal_links_from_other_apps, id: 704614
    Device sessions

    3. test_links_deep_links, id: 702775
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    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 TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    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_contact_block_unblock_offline, id: 702894
    Device sessions

    5. test_community_message_delete, id: 702839
    Device sessions

    6. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    7. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    8. test_community_message_edit, id: 702843
    Device sessions

    9. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_undo_delete_message, id: 702869
    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 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_mute_chat, id: 703495
    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_join_send_text_messages_push, id: 702807
    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

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Dec 1, 2023

    Thanks @Francesca! I'll create an issue to fix that :)

    @VolodLytvynenko
    Copy link
    Contributor

    Hi @J-Son89 thanks for the fixes. I've encountered another issue, but it seems to occur randomly, making it difficult to reproduce with specific steps. It might be logs would be helpful to understand what going on.

    However, I suggest merging this PR as the issue happens infrequently. Please confirm if this issue will be addressed within the scope of this PR and requires retesting. Otherwise, PR can be merged:

    ISSUE 6: [Android] 'Cannot read property "ToLoverCase" of null' error is shown during watch only address creation

    Actual result:

    'Cannot read property "ToLoverCase" of null' error is shown after creation watch only address

    errorwatchonly.mp4

    Expected result:

    The error is not shown

    Logs:

    Status-debug-logs.zip

    Device:

    Pixel 7a, Android 13

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Dec 1, 2023

    Thanks @VolodLytvynenko - I will merge this pr and create a follow up to handle this and fix the navigation. It should be relatively easy to prevent even if it is rarely happening as I can search for that function and safe guard it 👍

    @J-Son89 J-Son89 merged commit f9f3281 into develop Dec 1, 2023
    6 checks passed
    @J-Son89 J-Son89 deleted the jc/watch-acc branch December 1, 2023 12:29
    yevh-berdnyk pushed a commit that referenced this pull request Dec 8, 2023
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Archived in project
    8 participants