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

Collection avatar component #17462

Merged
merged 4 commits into from
Oct 2, 2023
Merged

Collection avatar component #17462

merged 4 commits into from
Oct 2, 2023

Conversation

vkjr
Copy link
Contributor

@vkjr vkjr commented Sep 30, 2023

fixes #17463

Summary

Collection avatar added to the list of quo components

Screenshot 2023-09-30 at 21 08 30

Design: https://www.figma.com/file/WQZcp6S0EnzxdTL4taoKDv/Design-System-for-Mobile?type=design&node-id=28941-78785&mode=dev

Design notes:

Quo component can be found in "avatars" section of the app.
Screenshot 2023-10-02 at 11 32 46

status: ready

@vkjr vkjr self-assigned this Sep 30, 2023
@vkjr vkjr requested a review from J-Son89 September 30, 2023 20:12
@status-im-auto
Copy link
Member

status-im-auto commented Sep 30, 2023

Jenkins Builds

Click to see older builds (15)
Commit #️⃣ Finished (UTC) Duration Platform Result
ada435c #1 2023-09-30 20:12:34 ~2 min tests 📄log
✔️ ada435c #1 2023-09-30 20:16:05 ~6 min android 🤖apk 📲
✔️ ada435c #1 2023-09-30 20:16:06 ~6 min android-e2e 🤖apk 📲
✔️ 4244e8d #2 2023-09-30 20:22:25 ~5 min android-e2e 🤖apk 📲
✔️ 4244e8d #2 2023-09-30 20:22:29 ~5 min android 🤖apk 📲
✔️ 4244e8d #2 2023-09-30 20:23:26 ~6 min ios 📱ipa 📲
✔️ 4244e8d #2 2023-09-30 20:25:46 ~8 min tests 📄log
14d3922 #3 2023-10-02 09:27:05 ~4 min android-e2e 📄log
14d3922 #3 2023-10-02 09:27:10 ~4 min android 📄log
14d3922 #3 2023-10-02 09:32:32 ~9 min tests 📄log
14d3922 #3 2023-10-02 09:32:48 ~9 min ios 📄log
✔️ 6f8ede2 #4 2023-10-02 09:57:50 ~6 min android-e2e 🤖apk 📲
✔️ 6f8ede2 #4 2023-10-02 09:57:57 ~6 min android 🤖apk 📲
✔️ 6f8ede2 #4 2023-10-02 09:58:18 ~6 min ios 📱ipa 📲
✔️ 6f8ede2 #4 2023-10-02 10:00:14 ~8 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
986acaa #5 2023-10-02 13:02:15 ~7 min ios 📄log
✔️ 986acaa #5 2023-10-02 13:02:41 ~7 min android-e2e 🤖apk 📲
✔️ 986acaa #5 2023-10-02 13:04:04 ~9 min android 🤖apk 📲
✔️ 986acaa #5 2023-10-02 13:10:09 ~15 min tests 📄log
✔️ ffadfcb #6 2023-10-02 20:43:57 ~6 min android-e2e 🤖apk 📲
✔️ ffadfcb #6 2023-10-02 20:43:59 ~6 min android 🤖apk 📲
✔️ ffadfcb #6 2023-10-02 20:44:23 ~6 min ios 📱ipa 📲
✔️ ffadfcb #6 2023-10-02 20:46:33 ~8 min tests 📄log

(:require [quo2.components.avatars.collection-avatar.view :as collection-avatar]
[test-helpers.component :as h]))

(defonce bored-ape (js/require "../resources/images/mock2/bored-ape.png"))
Copy link
Contributor

@J-Son89 J-Son89 Oct 2, 2023

Choose a reason for hiding this comment

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

is it possible to get this from the resources file instead? 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@J-Son89, do you mean not from the mock folder?

Copy link
Contributor

Choose a reason for hiding this comment

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

no that's fine. I mean that we have a quo2.resources file so can we use that instead? and do the resources/get-mock-image approach?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@J-Son89 ah, okay)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@J-Son89, just remembered why it is this way.resources/get-mock-image located in status-im2, whereas component is in quo2. And our linter fails with warnings when we reference status-im2 from quo2.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh we have another file like that within quo2 for this reason though

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@J-Son89, thanks, missed it!)

(:require [quo2.components.avatars.collection-avatar.style :as style]
[quo2.theme :as quo.theme]
[react-native.fast-image :as fast-image]
))
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: formatting is strange here

@@ -149,6 +150,7 @@
(def icon-avatar quo2.components.avatars.icon-avatar/icon-avatar)
(def user-avatar quo2.components.avatars.user-avatar.view/user-avatar)
(def wallet-user-avatar quo2.components.avatars.wallet-user-avatar/wallet-user-avatar)
(def collection-avatar quo2.components.avatars.collection-avatar.view/view)
Copy link
Contributor

Choose a reason for hiding this comment

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

can we keep this list alpha sorted too 🙏

Copy link
Contributor

@J-Son89 J-Son89 left a comment

Choose a reason for hiding this comment

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

few small comments, book looks good otherwise 🚀

@vkjr
Copy link
Contributor Author

vkjr commented Oct 2, 2023

@Francesca-G, could you please take a look at this one?

Copy link

@Francesca-G Francesca-G left a comment

Choose a reason for hiding this comment

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

Looks good ✨

@vkjr vkjr force-pushed the collection-avatar branch from 6f8ede2 to 986acaa Compare October 2, 2023 12:54
@status-im-auto
Copy link
Member

49% of end-end tests have passed

Total executed tests: 43
Failed tests: 22
Passed tests: 21
IDs of failed tests: 702809,703194,702859,702732,702840,703495,703086,702948,702894,702783,703297,703503,703202,702786,702839,702838,702844,702843,702731,702808,702845,702841 

Failed tests (22)

Click to expand
  • Rerun failed tests

  • 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

    Test setup failed: base_test_case.py:365: in setup_method
        driver.execute_script("sauce:context=Started %s" % method.__name__)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:405: in execute_script
        return self.execute(command, {"script": script, "args": converted_args})["value"]
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     The test session has already finished, and can't receive further commands. For help please check https://docs.saucelabs.com/dev/error-messages
    



    3. test_group_chat_send_image_save_and_share, id: 703297

    Test setup failed: base_test_case.py:365: in setup_method
        driver.execute_script("sauce:context=Started %s" % method.__name__)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:405: in execute_script
        return self.execute(command, {"script": script, "args": converted_args})["value"]
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     The test session has already finished, and can't receive further commands. For help please check https://docs.saucelabs.com/dev/error-messages
    



    4. test_group_chat_reactions, id: 703202

    critical/chats/test_group_chat.py:235: in test_group_chat_reactions
        [self.homes[i].navigate_back_to_home_view() for i in range(3)]
    critical/chats/test_group_chat.py:235: in <listcomp>
        [self.homes[i].navigate_back_to_home_view() for i in range(3)]
    ../views/base_view.py:392: in navigate_back_to_home_view
        while not self.chat_floating_screen.is_element_disappeared(2) \
    ../views/base_element.py:222: in is_element_disappeared
        return self.wait_for_invisibility_of_element(sec)
    ../views/base_element.py:146: in wait_for_invisibility_of_element
        .until(expected_conditions.invisibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:320: in _predicate
        return _element_if_visible(target, visibility=False)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:175: in _element_if_visible
        return element if element.is_displayed() == visibility else False
     'str' object has no attribute 'is_displayed'
    



    Device sessions

    5. test_group_chat_offline_pn, id: 702808

    Test setup failed: base_test_case.py:365: in setup_method
        driver.execute_script("sauce:context=Started %s" % method.__name__)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:405: in execute_script
        return self.execute(command, {"script": script, "args": converted_args})["value"]
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     The test session has already finished, and can't receive further commands. For help please check https://docs.saucelabs.com/dev/error-messages 
    

    [[Data delivery issue]]

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Device 1: Tap on found: Button
    Device 1: Swiping up

    critical/test_public_chat_browsing.py:359: in test_community_discovery
        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))]))
     Element show-request-to-join-screen-button is different from expected template discovery_join_button.png! 
    

    [[Request to Join Community button color issue: https://github.com//issues/17295]]

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Test setup failed: critical/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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: Find Button by xpath: //*[@content-desc='password-input']/../following-sibling::*//*[@text='Join Community']
    Device 2: Tap on found: Button

    Test setup failed: critical/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` 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/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` is not found on the screen after wait_for_visibility_of_element
    



    9. test_community_message_edit, id: 702843

    Test setup failed: critical/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` is not found on the screen after wait_for_visibility_of_element
    



    10. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/test_public_chat_browsing.py:597: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:424: in join_community
        self.community_status_joined.wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by accessibility id:`status-tag-positive` is not found on the screen after wait_for_visibility_of_element
    



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

    1. test_community_markdown_support, id: 702809

    Test setup failed: critical/test_public_chat_browsing.py:1069: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:995: 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
    



    2. test_community_hashtag_links_to_community_channels, id: 702948

    Test setup failed: critical/test_public_chat_browsing.py:1069: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:995: 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
    



    3. test_community_mentions_push_notification, id: 702786

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'hey'

    Test setup failed: critical/test_public_chat_browsing.py:1069: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:995: 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 
    

    [[Issue with username in PN, https://github.com//issues/17396]]

    Device sessions

    4. test_community_leave, id: 702845

    Test setup failed: critical/test_public_chat_browsing.py:1069: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:995: 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
    



    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:1417: 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 was not delivered after resending from offline
    E    Message status was not changed to Delivered, it's Sent after back up online! 
    

    [[Data delivery issue]]

    Device sessions

    Passed tests (21)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807
    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 TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    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_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_mute_chat, id: 703496
    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

    @vkjr vkjr force-pushed the collection-avatar branch from 986acaa to ffadfcb Compare October 2, 2023 20:37
    @vkjr vkjr merged commit 9fb37d3 into develop Oct 2, 2023
    @vkjr vkjr deleted the collection-avatar branch October 2, 2023 20:46
    clauxx pushed a commit that referenced this pull request Oct 3, 2023
    * Collection avatar component
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    Archived in project
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Create collection avatar component
    4 participants