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

[#17507] fix: image placeholder issue in create-profile #17645

Merged
merged 1 commit into from
Oct 17, 2023

Conversation

mohsen-ghafouri
Copy link
Contributor

fixes #17507

Reproduction

  1. Install Status on your iOS device
  2. On the intro screen lock the device screen/send the app to background
  3. Wait ~ 2 munites
  4. Open the app
  5. Press I'm new to Status > Generate keys

it was hard to reproduce but now it should be fine, i noticed sometime the port has been missed for mediaserver ,so i try to avoid calling mediaserver when user doesn't have any avatar there

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Oct 16, 2023

Jenkins Builds

Click to see older builds (4)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 2f3e62d #3 2023-10-16 08:48:28 ~6 min android 🤖apk 📲
✔️ 2f3e62d #3 2023-10-16 08:50:46 ~8 min android-e2e 🤖apk 📲
✔️ 2f3e62d #3 2023-10-16 08:52:05 ~10 min tests 📄log
✔️ 2f3e62d #3 2023-10-16 08:53:34 ~11 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 91188a3 #4 2023-10-16 10:16:34 ~7 min android 🤖apk 📲
✔️ 91188a3 #4 2023-10-16 10:20:04 ~11 min ios 📱ipa 📲
✔️ 91188a3 #4 2023-10-16 10:21:42 ~12 min android-e2e 🤖apk 📲
✔️ 91188a3 #4 2023-10-16 10:25:16 ~16 min tests 📄log
✔️ 6999ee6 #5 2023-10-17 09:35:21 ~6 min android-e2e 🤖apk 📲
✔️ 6999ee6 #5 2023-10-17 09:35:26 ~6 min android 🤖apk 📲
✔️ 6999ee6 #5 2023-10-17 09:38:04 ~8 min tests 📄log
✔️ 6999ee6 #5 2023-10-17 09:41:03 ~11 min ios 📱ipa 📲

(rf/sub
[:profile/onboarding-placeholder-avatar
@profile-pic]))
:image-picker-props {:profile-picture @profile-pic
Copy link
Contributor

Choose a reason for hiding this comment

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

hmm, is this right? the sub is there because we want to hydrate the data if the user navigates backwards.
e.g user sets profile picture, then user navigates forward to create password, then user navigates back to create profile page ->
expected the profile picture should be set as before 👍

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 @J-Son89 as I checked if you go to next screen (set password) and the click on back button you still can see the selected avatar photo. please let me know if i should check any other scenario

Simulator.Screen.Recording.-.iPhone.11.Pro.-.2023-10-16.at.13.05.26.mp4

Copy link
Contributor

Choose a reason for hiding this comment

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

hi, the or logic here is for rendering initial avatars when no image set

I believe this will break initial avatar

Copy link
Contributor

Choose a reason for hiding this comment

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

The reason for the issue might be (just a guess) image server port changed when back to foreground. media server before login is started at https://github.com/status-im/status-go/blob/21ddaa4b9f57288ed99fed04db528f3790b7bd2f/node/get_status_node.go#L210

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@yqrashawn yes as i mentioned the issue is related to the port but i can't see any issue with this changes as user-avatar already handled initial avatar according to full-name.

(if (and full-name (not (or profile-picture-fn profile-picture)))
       [initials-avatar props]
...

Copy link
Contributor

Choose a reason for hiding this comment

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

oh, i see

@mohsen-ghafouri
Copy link
Contributor Author

Hey @VolodLytvynenko i moved this PR to E2E test step but it didn't run them, JFYI

@VolodLytvynenko
Copy link
Contributor

VolodLytvynenko commented Oct 17, 2023

Hey @VolodLytvynenko I moved this PR to E2E test step but it didn't run them, JFYI

Hi @mohsen-ghafouri The e2e run still in process. Sometimes it happens if a few PRs are moved to E2E at the same time which might cause the queue.
image
The e2e queue you can check here

@status-im-auto
Copy link
Member

53% of end-end tests have passed

Total executed tests: 43
Failed tests: 20
Passed tests: 23
IDs of failed tests: 702809,703194,702859,702732,702851,702840,703495,703086,702894,702745,702783,703202,702786,702839,702838,702844,702843,702731,702808,702841 

Failed tests (20)

Click to expand
  • Rerun failed tests

  • Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

    Device 2: Tap on found: Button
    Device 2: Wait for element `Button` for max 30s and click when it is available

    activity_center/test_activity_center.py:86: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.device_2.create_user(second_user=True, username=new_username)
    ../views/sign_in_view.py:250: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:96: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    2. test_community_one_image_send_reply, id: 702859

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    3. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    4. test_community_mark_all_messages_as_read, id: 703086

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    5. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element 
    

    [[Message can be missed after unblock: https://github.com//issues/16873]]

    6. test_community_message_delete, id: 702839

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    7. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Looking for chat: 'general'
    Device 2: Click until ChatMessageInput by accessibility id: chat-message-input will be presented

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    8. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    9. test_community_message_edit, id: 702843

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    10. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/chats/test_public_chat_browsing.py:308: in prepare_devices
        self.channel_2.chat_message_input.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatMessageInput by accessibility id:`chat-message-input` is not found on the screen after wait_for_visibility_of_element
    



    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:926: in test_community_markdown_support
        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))]))
     bold text in asterics is not displayed with markdown in community channel for the recipient (device 1) 
    E   
    E    bold text in underscores is not displayed with markdown in community channel for the recipient (device 1)
    



    Device sessions

    2. test_community_mentions_push_notification, id: 702786

    Device 2: Getting PN by 'user_2'
    Device 2: Looking for a message by text: user_2

    critical/chats/test_public_chat_browsing.py:874: in test_community_mentions_push_notification
        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))]))
     Can not edit a message with a mention
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Device 2: Find Text by xpath: //*[starts-with(@text,'test message')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    Device 2: Text is Sent

    critical/chats/test_1_1_public_chats.py:601: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        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))]))
     Message status was not changed to Delivered, it's Sent after back up online! 
    

    [[Data delivery issue]]

    Device sessions

    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_mute_chat, id: 703495

    Device 2: Click until ChatMessageInput by accessibility id: chat-message-input will be presented
    Device 2: Looking for a message by text: Chat is unmuted now

    critical/chats/test_group_chat.py:473: in test_group_chat_mute_chat
        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))]))
     New messages counter near chats tab button is 1 after unmute, but should be 2
    



    Device sessions

    3. test_group_chat_reactions, id: 703202

    Device 3: Adding one more 'thumbs-up' reaction or removing an added one
    Device 3: Find Button by accessibility id: emoji-reaction-2

    critical/chats/test_group_chat.py:112: in test_group_chat_reactions
        self.chats[2].add_remove_same_reaction(message=message, emoji="thumbs-up")
    ../views/chat_view.py:1076: in add_remove_same_reaction
        element.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 3: Button by accessibility id: `emoji-reaction-2` 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_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:309: 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

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Tap on found: SendMessageButton
    Device 2: Looking for a message by text: profile_photo

    critical/chats/test_1_1_public_chats.py:304: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        self.chat_2.chat_element_by_text(message).wait_for_visibility_of_element(30)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'profile_photo')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    Passed tests (23)

    Click to expand

    Class TestActivityCenterContactRequestMultipleDevicePR:

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

    1. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    2. test_community_leave, id: 702845
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    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_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_message_reaction, id: 702730
    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_discovery, id: 703503
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    6. test_community_mute_community_and_channel, id: 703382
    Device sessions

    @VolodLytvynenko
    Copy link
    Contributor

    @mohsen-ghafouri thank you for your work. Issues in e2e are not related to the current PR. Ready to be merged

    @mohsen-ghafouri mohsen-ghafouri merged commit fc284f4 into develop Oct 17, 2023
    6 of 7 checks passed
    @mohsen-ghafouri mohsen-ghafouri deleted the fix/image-placeholder-profile branch October 17, 2023 14:28
    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
    Development

    Successfully merging this pull request may close these issues.

    Image/image placeholder stops being displayed after background on the "Create profile" screen [iOS]
    5 participants