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

Avatars/dApp Avatar Component #20145

Merged
merged 1 commit into from
May 24, 2024
Merged

Conversation

ajayesivan
Copy link
Contributor

fixes #20129

Summary

Implements the Avatars/dApp-Avatar component

Testing notes

Manual QA can be skipped since this PR only adds a quo component and doesn't introduce any changes outside Quo Preview.

Platforms

  • Android
  • iOS

Areas that maybe impacted

None

Steps to test

Quo Preview -> Avatars -> dApp Avatar

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented May 22, 2024

Jenkins Builds

Click to see older builds (17)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 80b8b48 #1 2024-05-22 11:32:58 ~4 min tests 📄log
✔️ 80b8b48 #1 2024-05-22 11:35:47 ~7 min android 🤖apk 📲
✔️ 80b8b48 #1 2024-05-22 11:37:09 ~8 min android-e2e 🤖apk 📲
✔️ 80b8b48 #1 2024-05-22 11:37:35 ~9 min ios 📱ipa 📲
✔️ 9ae8bd1 #2 2024-05-22 12:18:41 ~7 min android 🤖apk 📲
✔️ 9ae8bd1 #2 2024-05-22 12:19:31 ~8 min ios 📱ipa 📲
✔️ 9ae8bd1 #2 2024-05-22 12:20:34 ~9 min tests 📄log
✔️ 9ae8bd1 #2 2024-05-22 12:28:41 ~17 min android-e2e 🤖apk 📲
6ce9d4d #3 2024-05-24 07:18:04 ~4 min tests 📄log
✔️ d5bb9d9 #4 2024-05-24 07:26:33 ~4 min tests 📄log
✔️ d5bb9d9 #4 2024-05-24 07:29:39 ~7 min android-e2e 🤖apk 📲
✔️ d5bb9d9 #4 2024-05-24 07:30:59 ~8 min ios 📱ipa 📲
✔️ d5bb9d9 #4 2024-05-24 07:31:09 ~8 min android 🤖apk 📲
✔️ b868b33 #5 2024-05-24 09:02:37 ~4 min tests 📄log
✔️ b868b33 #5 2024-05-24 09:05:51 ~7 min android-e2e 🤖apk 📲
✔️ b868b33 #5 2024-05-24 09:06:55 ~8 min android 🤖apk 📲
✔️ b868b33 #5 2024-05-24 09:07:07 ~8 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 6defa2c #6 2024-05-24 09:19:08 ~5 min tests 📄log
✔️ 6defa2c #6 2024-05-24 09:20:20 ~6 min android 🤖apk 📲
✔️ 6defa2c #6 2024-05-24 09:20:29 ~6 min android-e2e 🤖apk 📲
✔️ 6defa2c #6 2024-05-24 09:23:13 ~9 min ios 📱ipa 📲
✔️ a17799a #7 2024-05-24 12:42:55 ~4 min tests 📄log
✔️ a17799a #7 2024-05-24 12:45:49 ~7 min android-e2e 🤖apk 📲
✔️ a17799a #7 2024-05-24 12:47:07 ~8 min android 🤖apk 📲
✔️ a17799a #7 2024-05-24 12:47:32 ~9 min ios 📱ipa 📲

@ajayesivan ajayesivan force-pushed the 20129-dapp-avatar-component branch from 80b8b48 to 9ae8bd1 Compare May 22, 2024 12:10
{:style (merge style/container container-style)
:accessibility-label :dapp-avatar}
[hole-view/hole-view
{:key (hash context?)
Copy link
Member

Choose a reason for hiding this comment

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

Same as here #20141 (comment), wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

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

@ajayesivan isn't it enough if we only provide context? or maybe booleans arent a valid react key?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@briansztamfater Changed the code to only add key prop for Android

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 Yes we can use boolean value for :key. I have updated the code.

@ajayesivan ajayesivan force-pushed the 20129-dapp-avatar-component branch from 9ae8bd1 to 6ce9d4d Compare May 24, 2024 07:12
@ajayesivan ajayesivan moved this from REVIEW to E2E Tests in Pipeline for QA May 24, 2024
@status-im-auto
Copy link
Member

87% of end-end tests have passed

Total executed tests: 52
Failed tests: 4
Expected to fail tests: 3
Passed tests: 45
IDs of failed tests: 727230,703086,727229,727232 
IDs of expected to fail tests: 703495,703503,702807 

Failed tests (4)

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/chats/test_public_chat_browsing.py:768: in test_community_mark_all_messages_as_read
        self.errors.verify_no_errors()
    base_test_case.py:190: 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 home > Community element
    E    New messages counter is not shown in community channel element
    



    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_watch_only_account, id: 727232

    Device 1: Text is 0x8d2413447ff297d30bdc475f6d5cb00254685aae
    Device 1: Click system back button

    critical/test_wallet.py:213: in test_wallet_add_remove_watch_only_account
        self.home_view.driver.fail(
    base_test_case.py:178: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Incorrect address '0x8d2413447ff297d30bdc475f6d5cb00254685aae' is shown when swiping between accounts, expected one is '0x8d2413447ff297d30bdc475f6d5cb00254685aae'
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    critical/test_wallet.py:119: in test_wallet_send_asset_from_drawer
        self.wallet_view.navigate_back_to_wallet_view()
     'TestWalletMultipleDevice' object has no attribute 'wallet_view'
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']

    critical/test_wallet.py:111: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:100: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:87: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:81: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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
    



    Expected to fail tests (3)

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

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement

    critical/chats/test_group_chat.py:466: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com//issues/19627]]

    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807

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

    critical/chats/test_group_chat.py:97: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:225: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent 
    

    [[Issue with a message status - Sent instead of Delivered, https://github.com//issues/20126]]

    Device sessions

    Passed tests (45)

    Click to expand

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    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 TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    5. test_community_join_when_node_owner_offline, id: 703629
    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_pin_messages, id: 702731
    Device sessions

    8. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    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_pin_messages, id: 702732
    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_offline_pn, id: 702808
    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 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_edit_delete_message_when_offline, id: 704615
    Device sessions

    6. test_community_message_delete, id: 702839
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

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

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    Device sessions

    @ajayesivan ajayesivan force-pushed the 20129-dapp-avatar-component branch 2 times, most recently from b868b33 to 6defa2c Compare May 24, 2024 09:13
    @ajayesivan ajayesivan moved this from E2E Tests to Design review in Pipeline for QA May 24, 2024
    @ajayesivan
    Copy link
    Contributor Author

    Hi @Francesca-G, could you please do a design review for this PR?

    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.

    All good ✨

    @Francesca-G Francesca-G moved this from Design review to MERGE in Pipeline for QA May 24, 2024
    @ajayesivan ajayesivan force-pushed the 20129-dapp-avatar-component branch from 6defa2c to a17799a Compare May 24, 2024 12:38
    @ajayesivan ajayesivan merged commit 4262d0e into develop May 24, 2024
    6 checks passed
    Pipeline for QA automation moved this from MERGE to DONE May 24, 2024
    @ajayesivan ajayesivan deleted the 20129-dapp-avatar-component branch May 24, 2024 12:48
    J-Son89 added a commit that referenced this pull request May 24, 2024
    Fix hidden hook usage
    
    Improve logging for unsupported collectibles
    
    Fix re-rendering of collectibles in flat-list
    
    chore: clean up implementation and speed up animation
    
    remove apply animations to style
    
    chore: use default opacity
    
    chore: use default opacity
    
    chore: add issue to todo
    
    chore: use flex
    
    chore: flex
    
    Avatars/Community Avatar Component (#20147)
    
    Avatars/dApp Avatar Component (#20145)
    
    Update eth-archival pokt url
    
    Remove not implemented Notification settings from community longtap m… (#20169)
    
    pick between JSC & Hermes for Android (#20171)
    
    We implement both `JSC` and `Hermes` in build phase of `Android` which increases our `APK` size by ~ `2 MB`.
    This was fine before but currently we have to get below the `100 MB` limit.
    
    This commit implements the preferred engine after inferring `hermesEnabled`  property from gradle.properties
    This property is modified at build time for release here
    https://github.com/status-im/status-mobile/blob/178d62bd276afffef5fe7a3f773e390d83336d9c/nix/mobile/android/build.nix#L17
    and set for debug here
    https://github.com/status-im/status-mobile/blob/178d62bd276afffef5fe7a3f773e390d83336d9c/Makefile#L280
    
    Which should further reduce the `APK` size by `2 MB`.
    
    [#19232] - Fix derivation path generation and keypair creation (#19531)
    
    * Add more default dependencies to slide button
    
    * Fix wallet account creation: derivation paths and keypairs
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: DONE
    Development

    Successfully merging this pull request may close these issues.

    Avatars/dApp-Avatar
    8 participants