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

Update "Preview list" component #17051

Merged
merged 4 commits into from
Aug 25, 2023

Conversation

smohamedjavid
Copy link
Member

@smohamedjavid smohamedjavid commented Aug 18, 2023

fixes #17026 #17008

Summary

This PR updates the Preview list component to support the following types (according to Figma):

  • collectibles
  • dapps
  • accounts
  • network
  • tokens

and support size 14 for type network.

The component is refactored to respect new guidelines.

Additionally, this PR imports the images for wallet networks and dApps.

Testing notes

Check whether the app works as expected as we have updated the component APIs.

Platforms

  • Android
  • iOS

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Aug 18, 2023

Jenkins Builds

Click to see older builds (32)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 901cccc #1 2023-08-18 13:10:53 ~5 min android-e2e 🤖apk 📲
✔️ 901cccc #1 2023-08-18 13:14:55 ~9 min android 🤖apk 📲
✔️ 901cccc #1 2023-08-18 13:17:59 ~12 min tests 📄log
✔️ 901cccc #1 2023-08-18 13:18:44 ~13 min ios 📱ipa 📲
✔️ a231d65 #2 2023-08-22 16:48:27 ~6 min android 🤖apk 📲
✔️ a231d65 #2 2023-08-22 16:51:31 ~9 min android-e2e 🤖apk 📲
✔️ a231d65 #2 2023-08-22 16:52:08 ~9 min tests 📄log
✔️ a231d65 #2 2023-08-22 16:53:07 ~10 min ios 📱ipa 📲
✔️ d302a61 #3 2023-08-23 08:27:59 ~5 min android-e2e 🤖apk 📲
✔️ d302a61 #3 2023-08-23 08:31:23 ~8 min ios 📱ipa 📲
✔️ d302a61 #3 2023-08-23 08:31:50 ~9 min android 🤖apk 📲
✔️ d302a61 #3 2023-08-23 08:32:03 ~9 min tests 📄log
✔️ 8af5875 #5 2023-08-23 10:10:09 ~5 min android-e2e 🤖apk 📲
✔️ 8af5875 #5 2023-08-23 10:10:49 ~6 min ios 📱ipa 📲
✔️ 8af5875 #5 2023-08-23 10:13:06 ~8 min tests 📄log
✔️ 8af5875 #5 2023-08-23 10:15:01 ~10 min android 🤖apk 📲
1ddc547 #6 2023-08-23 19:38:11 ~27 sec android-e2e 📄log
1ddc547 #6 2023-08-23 19:38:15 ~30 sec ios 📄log
1ddc547 #6 2023-08-23 19:38:24 ~40 sec android 📄log
1ddc547 #6 2023-08-23 19:39:19 ~1 min tests 📄log
✔️ b6cb8dc #7 2023-08-23 19:50:47 ~5 min android-e2e 🤖apk 📲
✔️ b6cb8dc #7 2023-08-23 19:50:47 ~5 min android 🤖apk 📲
✔️ b6cb8dc #7 2023-08-23 19:52:09 ~7 min ios 📱ipa 📲
✔️ b6cb8dc #7 2023-08-23 19:58:14 ~13 min tests 📄log
✔️ 78892aa #8 2023-08-24 13:02:31 ~5 min android-e2e 🤖apk 📲
✔️ 78892aa #8 2023-08-24 13:06:17 ~9 min android 🤖apk 📲
✔️ 78892aa #8 2023-08-24 13:06:24 ~9 min tests 📄log
✔️ 78892aa #9 2023-08-24 13:18:28 ~9 min ios 📱ipa 📲
✔️ 2ee7585 #9 2023-08-24 13:53:38 ~5 min android-e2e 🤖apk 📲
✔️ 2ee7585 #9 2023-08-24 13:53:54 ~5 min android 🤖apk 📲
✔️ 2ee7585 #10 2023-08-24 13:55:35 ~7 min ios 📱ipa 📲
✔️ 2ee7585 #9 2023-08-24 13:57:31 ~9 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 8f62543 #10 2023-08-25 09:13:43 ~5 min android-e2e 🤖apk 📲
✔️ 8f62543 #10 2023-08-25 09:17:33 ~9 min android 🤖apk 📲
✔️ 8f62543 #10 2023-08-25 09:18:15 ~9 min tests 📄log
✔️ 8f62543 #11 2023-08-25 09:23:45 ~15 min ios 📱ipa 📲
✔️ b524d07 #11 2023-08-25 16:05:24 ~5 min android-e2e 🤖apk 📲
✔️ b524d07 #11 2023-08-25 16:05:25 ~5 min android 🤖apk 📲
✔️ b524d07 #12 2023-08-25 16:08:12 ~8 min ios 📱ipa 📲
✔️ b524d07 #11 2023-08-25 16:08:37 ~8 min tests 📄log

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.

nice work @smohamedjavid!

@smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch from 901cccc to a231d65 Compare August 22, 2023 16:42
@smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch from a231d65 to d302a61 Compare August 23, 2023 08:22
@smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch 2 times, most recently from f7b2f40 to 8af5875 Compare August 23, 2023 10:04
@smohamedjavid smohamedjavid requested a review from J-Son89 August 23, 2023 10:04
@smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch 2 times, most recently from 1ddc547 to b6cb8dc Compare August 23, 2023 19:44
Copy link
Contributor

@ulisesmac ulisesmac left a comment

Choose a reason for hiding this comment

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

Thanks for this PR! :)

I Just added some comments

src/quo2/components/list_items/preview_list/view.cljs Outdated Show resolved Hide resolved
src/quo2/foundations/resources.cljs Show resolved Hide resolved
src/quo2/components/list_items/preview_list/view.cljs Outdated Show resolved Hide resolved
src/quo2/components/list_items/preview_list/view.cljs Outdated Show resolved Hide resolved
src/quo2/components/list_items/preview_list/view.cljs Outdated Show resolved Hide resolved
@status-im-auto
Copy link
Member

77% of end-end tests have passed

Total executed tests: 43
Failed tests: 10
Passed tests: 33
IDs of failed tests: 702809,702732,702813,703086,702948,702894,702745,702786,702731,702808 

Failed tests (10)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_markdown_support, id: 702809

    Device 2: Type `**bold text in asterics**` to `ChatMessageInput`
    Device 2: Find `SendMessageButton` by `accessibility id`: `send-message-button`

    critical/test_public_chat_browsing.py:1127: in test_community_markdown_support
        self.channel_2.send_message(message_to_send)
    ../views/chat_view.py:990: in send_message
        self.send_message_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: SendMessageButton by accessibility id: `send-message-button` is not found on the screen
    



    Device sessions

    2. test_community_mark_all_messages_as_read, id: 703086

    Device 2: Type hello to ChatMessageInput
    Device 2: Find SendMessageButton by accessibility id: send-message-button

    critical/test_public_chat_browsing.py:1002: in test_community_mark_all_messages_as_read
        self.channel_2.send_message(self.text_message)
    ../views/chat_view.py:990: in send_message
        self.send_message_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: SendMessageButton by accessibility id: `send-message-button` is not found on the screen
    



    Device sessions

    3. test_community_hashtag_links_to_community_channels, id: 702948

    Device 2: Sending message 'it is just a message text'
    Device 2: Find ChatMessageInput by accessibility id: chat-message-input

    critical/test_public_chat_browsing.py:1197: in test_community_hashtag_links_to_community_channels
        self.chat_2.send_message(control_message_1_1_chat)
    ../views/chat_view.py:989: in send_message
        self.chat_message_input.send_keys(message)
    ../views/base_element.py:353: in send_keys
        self.find_element().send_keys(value)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webelement.py:218: in send_keys
        self._execute(RemoteCommand.SEND_KEYS_TO_ELEMENT, {'text': ''.join(keys), 'value': keys})
    /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)
     androidx.test.uiautomator.StaleObjectException
    



    Device sessions

    4. test_community_contact_block_unblock_offline, id: 702894

    Device 2: Sending message 'Hurray! unblocked'
    Device 2: Find ChatMessageInput by accessibility id: chat-message-input

    critical/test_public_chat_browsing.py:984: in test_community_contact_block_unblock_offline
        self.chat_2.send_message(message_unblocked)
    ../views/chat_view.py:989: in send_message
        self.chat_message_input.send_keys(message)
    ../views/base_element.py:353: in send_keys
        self.find_element().send_keys(value)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webelement.py:218: in send_keys
        self._execute(RemoteCommand.SEND_KEYS_TO_ELEMENT, {'text': ''.join(keys), 'value': keys})
    /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)
     androidx.test.uiautomator.StaleObjectException
    



    Device sessions

    5. test_community_mentions_push_notification, id: 702786

    # STEP: Invited member gets push notification with the mention and tap it
    Device 2: Getting PN by 'user_2'

    critical/test_public_chat_browsing.py:1104: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:177: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Push notification with the mention was not received by admin
    E    Can not edit a message with a mention
    E    Push notification with the mention was not received by the invited member 
    

    [[Issue with username in PN, issue #6 in https://github.com//issues/15500]]

    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_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:441: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:177: 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
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_push_emoji, id: 702813

    Device 1: Sending message 'Text push notification'
    Device 1: Find ChatMessageInput by accessibility id: chat-message-input

    critical/chats/test_1_1_public_chats.py:1142: in test_1_1_chat_push_emoji
        self.chat_1.send_message(message)
    ../views/chat_view.py:989: in send_message
        self.chat_message_input.send_keys(message)
    ../views/base_element.py:353: in send_keys
        self.find_element().send_keys(value)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webelement.py:218: in send_keys
        self._execute(RemoteCommand.SEND_KEYS_TO_ELEMENT, {'text': ''.join(keys), 'value': keys})
    /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)
     androidx.test.uiautomator.StaleObjectException
    



    Device sessions

    2. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    ## Setting custom profile image
    Device 1: Find ProfilePictureElement by accessibility id: chat-icon

    critical/chats/test_1_1_public_chats.py:1086: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        self.profile_1.edit_profile_picture('sauce_logo.png')
    ../views/profile_view.py:426: in edit_profile_picture
        self.profile_picture.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: ProfilePictureElement by accessibility id: `chat-icon` is not found on the screen
    



    Device sessions

    3. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    Passed tests (33)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_message_delete, id: 702839
    Device sessions

    5. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    6. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_message_edit, id: 702843
    Device sessions

    8. test_community_leave, id: 702845
    Device sessions

    9. test_community_unread_messages_badge, id: 702841
    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 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 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

    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_delete_via_long_press_relogin, id: 702784
    Device sessions

    4. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    5. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    6. test_1_1_chat_edit_message, id: 702855
    Device sessions

    7. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    8. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    3. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    4. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    @smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch from 2ee7585 to 8f62543 Compare August 25, 2023 09:07
    @qoqobolo qoqobolo self-assigned this Aug 25, 2023
    @status-im-auto
    Copy link
    Member

    83% of end-end tests have passed

    Total executed tests: 6
    Failed tests: 1
    Passed tests: 5
    
    IDs of failed tests: 703086 
    

    Failed tests (1)

    Click to expand
  • Rerun failed tests

  • 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/test_public_chat_browsing.py:1021: in test_community_mark_all_messages_as_read
        self.errors.verify_no_errors()
    base_test_case.py:177: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     New messages counter is not shown in community channel element
    



    Device sessions

    Passed tests (5)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    2. test_community_markdown_support, id: 702809
    Device sessions

    3. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    @qoqobolo
    Copy link
    Contributor

    Thanks for the PR @smohamedjavid, LGTM.
    @Francesca-G could you check this from the design respective if needed?
    Thanks!

    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 to me :)

    Adding follow up for minor detail:
    when there's a 2-digits number the implementation doesn't match the design

    Screenshot 2023-08-25 alle 17 48 09

    the number card at the end in the design is larger:

    Screenshot 2023-08-25 alle 17 48 19

    @smohamedjavid
    Copy link
    Member Author

    Thank you for the review, @Francesca-G.

    The overflow label is supposed to use the number tag component. But it hasn't been implemented. We have created an issue for it #17045. Once, it's implemented, this issue would be resolved. 👍

    Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
    Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
    Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
    Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
    @smohamedjavid smohamedjavid force-pushed the feature/update-preview-list-types branch from 8f62543 to b524d07 Compare August 25, 2023 15:59
    @smohamedjavid smohamedjavid merged commit 0f7e98c into develop Aug 25, 2023
    @smohamedjavid smohamedjavid deleted the feature/update-preview-list-types branch August 25, 2023 16:11
    andresceballosm pushed a commit to andresceballosm/status-mobile that referenced this pull request Aug 29, 2023
    This commit updates the "Preview list" component to support the following types (according to Figma):
    - collectibles
    - dapps
    - accounts
    - network
    - tokens
    
    Additionally, imports the images for wallet networks and dApps.
    ---------
    
    Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
    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.

    Implement the "Network" variant in the "Preview List" component
    9 participants