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

fix hole view usage for create profile picture #16001

Merged
merged 1 commit into from
Jun 9, 2023

Conversation

Parveshdhull
Copy link
Member

@Parveshdhull Parveshdhull commented May 23, 2023

leftover from #15561 (comment)

Testing

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented May 23, 2023

Jenkins Builds

Click to see older builds (33)
Commit #️⃣ Finished (UTC) Duration Platform Result
9a82b22 #1 2023-05-23 19:32:42 ~2 min ios 📄log
29451ff #2 2023-05-23 19:36:34 ~1 min ios 📄log
✔️ 29451ff #2 2023-05-23 19:40:42 ~5 min android-e2e 🤖apk 📲
✔️ 29451ff #2 2023-05-23 19:40:42 ~5 min android 🤖apk 📲
✔️ 29451ff #2 2023-05-23 19:41:55 ~6 min tests 📄log
✔️ 75e452a #3 2023-05-26 08:57:55 ~8 min android 🤖apk 📲
✔️ 75e452a #3 2023-05-26 08:58:49 ~9 min android-e2e 🤖apk 📲
✔️ 75e452a #3 2023-05-26 09:00:50 ~11 min ios 📱ipa 📲
✔️ 75e452a #3 2023-05-26 09:02:39 ~12 min tests 📄log
f29de84 #5 2023-06-07 18:52:35 ~3 min tests 📄log
✔️ f29de84 #5 2023-06-07 18:54:36 ~5 min android-e2e 🤖apk 📲
✔️ f29de84 #5 2023-06-07 18:54:58 ~5 min android 🤖apk 📲
✔️ f29de84 #5 2023-06-07 18:55:34 ~6 min ios 📱ipa 📲
✔️ e74cae4 #6 2023-06-07 19:03:40 ~5 min ios 📱ipa 📲
✔️ e74cae4 #6 2023-06-07 19:03:51 ~6 min android-e2e 🤖apk 📲
✔️ e74cae4 #6 2023-06-07 19:03:57 ~6 min android 🤖apk 📲
e74cae4 #6 2023-06-07 19:05:30 ~7 min tests 📄log
✔️ b9892d9 #7 2023-06-07 19:24:40 ~5 min ios 📱ipa 📲
✔️ b9892d9 #7 2023-06-07 19:25:12 ~6 min android-e2e 🤖apk 📲
✔️ b9892d9 #7 2023-06-07 19:25:13 ~6 min android 🤖apk 📲
✔️ b9892d9 #7 2023-06-07 19:26:43 ~7 min tests 📄log
✔️ 794fe68 #8 2023-06-08 11:07:00 ~5 min android 🤖apk 📲
✔️ 794fe68 #8 2023-06-08 11:07:18 ~5 min ios 📱ipa 📲
✔️ 794fe68 #8 2023-06-08 11:08:26 ~6 min android-e2e 🤖apk 📲
✔️ 794fe68 #8 2023-06-08 11:10:01 ~8 min tests 📄log
✔️ 138ef54 #9 2023-06-08 11:18:21 ~5 min ios 📱ipa 📲
✔️ 138ef54 #9 2023-06-08 11:19:39 ~7 min android 🤖apk 📲
✔️ 138ef54 #9 2023-06-08 11:21:08 ~8 min tests 📄log
✔️ 138ef54 #9 2023-06-08 11:21:24 ~8 min android-e2e 🤖apk 📲
✔️ 2dd5cd4 #11 2023-06-08 11:34:15 ~5 min android-e2e 🤖apk 📲
✔️ 2dd5cd4 #11 2023-06-08 11:34:24 ~5 min android 🤖apk 📲
✔️ 2dd5cd4 #11 2023-06-08 11:35:03 ~6 min ios 📱ipa 📲
✔️ 2dd5cd4 #11 2023-06-08 11:36:43 ~7 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 37dc843 #13 2023-06-08 15:44:27 ~5 min android 🤖apk 📲
✔️ 37dc843 #13 2023-06-08 15:45:07 ~5 min android-e2e 🤖apk 📲
✔️ 37dc843 #13 2023-06-08 15:46:26 ~7 min ios 📱ipa 📲
✔️ 37dc843 #13 2023-06-08 15:46:27 ~7 min tests 📄log
✔️ 208c890 #14 2023-06-09 08:42:05 ~6 min android-e2e 🤖apk 📲
✔️ 208c890 #14 2023-06-09 08:42:05 ~6 min android 🤖apk 📲
✔️ 208c890 #14 2023-06-09 08:42:57 ~6 min tests 📄log
✔️ 208c890 #14 2023-06-09 08:45:00 ~9 min ios 📱ipa 📲
✔️ 208c890 #15 2023-06-09 08:51:00 ~5 min android-e2e 🤖apk 📲

@pavloburykh pavloburykh force-pushed the fix/hole-view-create-profile branch from 29451ff to 75e452a Compare May 26, 2023 08:49
@status-im-auto
Copy link
Member

70% of end-end tests have passed

Total executed tests: 33
Failed tests: 10
Passed tests: 23
IDs of failed tests: 702733,702855,702745,702782,703133,702783,702731,702838,702813,702784 

Failed tests (10)

Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Wait for element `Button` for max 30s and click when it is available
    Device 1: Find `Button` by `accessibility id`: `skip-identifiers`

    critical/test_public_chat_browsing.py:354: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.recover_access(passphrase=waku_user.seed, second_user=True)
    ../views/sign_in_view.py:265: in recover_access
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:404: in wait_and_click
        self.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:80: in click
        self._execute(Command.CLICK_ELEMENT)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:633: in _execute
        return self._parent.execute(command, params)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:321: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:31: in check_response
        raise wde
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:26: in check_response
        super().check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:242: in check_response
        raise exception_class(message, screen, stacktrace)
     The element 'By.accessibilityId: skip-identifiers' does not exist in DOM anymore
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 2: Find Button by accessibility id: jump-to

    critical/chats/test_1_1_public_chats.py:1138: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_2.jump_to_card_by_text(self.username_1)
    ../views/base_view.py:609: in jump_to_card_by_text
        self.jump_to_button.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `jump-to` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    2. test_1_1_chat_edit_message, id: 702855

    Device 2: Could not reach ChatsTab element by pressing back
    Device 2: Find Button by accessibility id: jump-to

    critical/chats/test_1_1_public_chats.py:1122: in test_1_1_chat_edit_message
        self.chat_2.jump_to_card_by_text(self.username_1)
    ../views/base_view.py:609: in jump_to_card_by_text
        self.jump_to_button.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `jump-to` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Could not reach ChatsTab element by pressing back
    Device 1: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:1030: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        self.home_1.profile_button.click()
    ../views/base_view.py:141: in click
        ChatsTab(self.driver).click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: ChatsTab by accessibility id: `chats-stack-tab` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    4. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 1: Find Button by xpath: //*[contains(@text, "⛵")]
    Device 1: Long press on Button until expected element is shown

    critical/chats/test_1_1_public_chats.py:896: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_1.quote_message(emoji_unicode)
    ../views/chat_view.py:994: in quote_message
        self.element_by_text_part(message).long_press_until_element_is_shown(self.reply_message_button)
    ../views/base_element.py:302: in long_press_until_element_is_shown
        action.long_press(element).release().perform()
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/common/touch_action.py:163: in perform
        self._driver.execute(Command.TOUCH_ACTION, params)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:321: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:31: in check_response
        raise wde
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:26: in check_response
        super().check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:242: in check_response
        raise exception_class(message, screen, stacktrace)
     The element 'By.xpath: //*[contains(@text, "⛵")]' does not exist in DOM anymore; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    5. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Device 2: Find Button by accessibility id: jump-to

    critical/chats/test_1_1_public_chats.py:1192: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        self.chat_2.jump_to_card_by_text(self.username_1)
    ../views/base_view.py:609: in jump_to_card_by_text
        self.jump_to_button.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `jump-to` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    6. test_1_1_chat_pin_messages, id: 702731

    # STEP: Check that Device1 can pin own message in 1-1 chat
    Device 2: Find Button by accessibility id: jump-to

    critical/chats/test_1_1_public_chats.py:940: in test_1_1_chat_pin_messages
        self.chat_2.jump_to_card_by_text(self.username_1)
    ../views/base_view.py:609: in jump_to_card_by_text
        self.jump_to_button.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `jump-to` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    7. test_1_1_chat_push_emoji, id: 702813

    Device 2: Could not reach ChatsTab element by pressing back
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:1072: in test_1_1_chat_push_emoji
        self.home_2.profile_button.click()
    ../views/base_view.py:141: in click
        ChatsTab(self.driver).click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    8. test_1_1_chat_delete_via_long_press_relogin, id: 702784

    Device 2: Could not reach ChatsTab element by pressing back
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:1235: in test_1_1_chat_delete_via_long_press_relogin
        self.home_2.chats_tab.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` is not found on the screen; also Unexpected Alert is shown: 'Invalid arity: 0'; also Unexpected Alert is shown: 'Invalid arity: 0'
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Verifying that 'hello' is under today
    Device 2: Looking for a message by text: hello

    critical/test_public_chat_browsing.py:456: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:944: in verify_message_is_under_today_text
        message_element.wait_for_visibility_of_element()
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'hello')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element 
    

    [[blocked by 14797]]

    Device sessions

    Passed tests (23)

    Click to expand

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_several_images_send_reply, id: 703194
    Device sessions

    3. test_community_one_image_send_reply, id: 702859
    Device sessions

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    5. test_community_mentions_push_notification, id: 702786
    Device sessions

    6. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    7. test_community_leave, id: 702845
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    9. test_community_message_delete, id: 702839
    Device sessions

    10. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    11. test_community_message_edit, id: 702843
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    3. test_navigation_jump_to, id: 702936
    Device sessions

    4. test_activity_center_mentions, id: 702957
    Device sessions

    @pavloburykh pavloburykh self-assigned this May 26, 2023
    @pavloburykh
    Copy link
    Contributor

    @Parveshdhull Thanx for the PR! Please, take a look at the following issues.

    ISSUE 1 Accent color is not applied for empty (default) profile icon (Android)

    Reproduced on Samsung Galaxy A52, Andrdoid 12

    Steps:

    1. Open Create Profile onboarding step
    2. Start changing accent colors
    3. See if color are applied to profile icon

    Actual result:

    Accent color is not applied for empty (default) profile icon

    telegram-cloud-document-2-5442686835002192664.mp4

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented May 26, 2023

    ISSUE 2 Symbols inside default icon are not updated while typing name and dispositioned (Android)

    Reproduced on Samsung Galaxy A52, Andrdoid 12

    Steps:

    1. Open Create Profile onboarding step
    2. Start typing name
    3. See if symbols are updated according to entered name value
    4. See if symbols are not dispositioned

    Actual result: symbols inside default icon are not updated while typing name and get dispositioned. Sometimes only 1 symbol is updated regardless multiword name value is entered.

    telegram-cloud-document-2-5442686835002192668.mp4

    @pavloburykh
    Copy link
    Contributor

    ISSUE 3 Wrong hole color?

    Not sure about this one. @Parveshdhull could you please re-check and confirm that colors are the same as on design. Looks like hole color is lighter than currently implemented.

    Actual result:

    IOS:

    photo_2023-05-26 15 18 00

    Android:

    photo_2023-05-26 15 17 57

    Expected result:

    https://www.figma.com/file/o4qG1bnFyuyFOvHQVGgeFY/Onboarding-for-Mobile?type=design&node-id=2241-251162&t=SWwcLHfABEwbl6L6-0

    Onboarding for Mobile – Figma 2023-05-26 14-29-53

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented May 26, 2023

    ISSUE 4 Profile icons with set pictures disappear on login/profile list screens after app being in background for a while (IOS)

    Reproduced on iPhone X, IOS 14.1

    @Parveshdhull actually I am not sure if this is PR related. I also faced it while testing release build. Logging here because you asked to check this fix #15553

    Preconditions: user has set profile picture.

    Steps: (these steps are not 100% reliable)

    1. Open Profile list screeen
    2. Background app for some time. (2-5 minutes)
    3. Open app
    4. See if profile icons are displayed
    5. If still displayed - open any profile from the list
    6. See if profile picture is displayed on login screen
    7. If profile picture is not displayed - go back to profile list screen and see if profile pictures are displayed

    Actual result: sometimes profile icons with set pictures disappear on login/profile list screens

    photo_2023-05-26 15 28 19

    telegram-cloud-document-2-5442686835002192700.mp4

    @Parveshdhull Parveshdhull force-pushed the fix/hole-view-create-profile branch 2 times, most recently from a40190c to f29de84 Compare June 7, 2023 18:48
    @Parveshdhull
    Copy link
    Member Author

    Parveshdhull commented Jun 7, 2023

    hi @pavloburykh, Thank you very much for testing the PR and for your patience.
    Issues 1 & 2 should be fixed now.

    For issue 3, I checked the camera icon color (white - 5% opacity) and the background color (primary - 50 - 40% opacity) are the same as Figma.
    Still, they look different to me too.

    • As they are transparent, their net result also gets affected by background color. Which might be different than Figma, maybe due to different background slide or issues in blur view.
    • Device specific color vibrancy etc, not sure.

    Is Issue 4 still reproducible? If yes, probably something related to image server, Please feel free to log it.

    @pavloburykh
    Copy link
    Contributor

    Hi @Parveshdhull ! thanx for your work and fixes. Please, take a look at a few new issues.

    ISSUE 5 Profile picture is not shown after being set until some action that triggers prophile icon reload (typing text/changing accent color) [ANDROID only]

    Reproducible on Android 12, Samsung Galaxy A52

    Steps:

    1. Proceed to Create Profile screen
    2. Set profile picture
    3. See if Profile picture is shown

    Actual result: Profile picture is not shown after being set until some action that triggers prophile icon reload (typing text/changing accent color)

    telegram-cloud-document-2-5193199756804892190.mp4

    Expected result: profile picture is shown

    @pavloburykh
    Copy link
    Contributor

    ISSUE 6 Loading spinner appears in profile icon during typing/cnhaging accent color [IOS]

    This is a minor one. If you consider to fix it as followup let me know and I will log a separate issue.

    Reproducible in IOS 14.1, iPhone X

    Steps:

    1. Proceed to Create Profile screen
    2. Set profile picture
    3. Start typing name/changing accent color
    4. See if loading spinner is visible on profile icon

    Actual result: loading spinner appears in profile icon during typing/cnhaging accent color

    telegram-cloud-document-2-5193199756804892193.mp4

    Expected result: if it is possible - we would better not show that spinner. BTW is there any reason why we are updating profile icon so frequently during typing (after each letter is typed)?

    @pavloburykh
    Copy link
    Contributor

    Is Issue 4 still reproducible? If yes, probably something related to image server, Please feel free to log it.

    Sure, I will try to catch it and log separately if it is still there. Thank you!

    @Parveshdhull
    Copy link
    Member Author

    hi @pavloburykh, Issue 5 & 6, should be fixed now.

    Expected result: if it is possible - we would better not show that spinner. BTW is there any reason why we are updating profile icon so frequently during typing (after each letter is typed)?

    Good question.

    • Our implementation of fast image shows loading spinner until image is not loaded.
    • And as we are using hole-view for camera icon, dynamic updates like changing image, user name, customization color don't directly work. We have to force re-render user avatar. Dynamic updates inside the hole-view not working in Android #15577
    • And as every time user avatar was re-created, it was showing that spinner.

    Now, we are using simple image view, instead of fast-image. So it should be fixed.

    @Parveshdhull Parveshdhull force-pushed the fix/hole-view-create-profile branch 2 times, most recently from 138ef54 to 6166681 Compare June 8, 2023 11:23
    @Parveshdhull
    Copy link
    Member Author

    Now, we are using simple image view, instead of fast-image.

    Also added check to make sure, only re-render every-time while typing when no image is present, otherwise only re-render when image is updated.

    @pavloburykh
    Copy link
    Contributor

    hi @pavloburykh, Issue 5 & 6, should be fixed now.

    @Parveshdhull Thanx for the fixes and explanation!

    I have 1 more minor behaviour which I am not sure to be expected or not. If it is expected - PR is ready to be merged.

    ISSUE 7 Abbreviation of "Your name" placeholder is not displayed in Profile icon if some text has been already entered and then cleared

    Steps:

    1. Proceed to Create profile screen
    2. Type some text in the input filed
    3. Clear the input field
    4. See if YN abbreviation (for "Your name" placeholder) is displayed inside Profile icon

    Actual result: abbreviation is not displayed

    telegram-cloud-document-2-5192813995727269006.mp4

    Expected result: abbreviation should be displayed

    @Parveshdhull
    Copy link
    Member Author

    Parveshdhull commented Jun 8, 2023

    I have 1 more minor behaviour which I am not sure to be expected or not.

    Lets fix this one too

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented Jun 9, 2023

    @Parveshdhull thanx for your work and patience! PR is ready to be merged.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    No open projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    4 participants