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

New composer - add audio comp #15790

Merged
merged 7 commits into from
May 3, 2023
Merged

New composer - add audio comp #15790

merged 7 commits into from
May 3, 2023

Conversation

OmarBasem
Copy link
Contributor

fixes: #15729

@OmarBasem OmarBasem self-assigned this May 1, 2023
Comment on lines 73 to 76
[quo/record-audio
{:record-audio-permission-granted record-permission?
:on-start-recording (fn []
(reset! recording? true)
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 I am not sure what was on-init function doing? I tried removing it and did not notice any issue. Please let me know if it is really needed.

Copy link
Member

@briansztamfater briansztamfater May 1, 2023

Choose a reason for hiding this comment

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

It is used to save the reset function in record-audio-reset-fn atom from the audio component and reset the state on show-send / hide-send functions in current (old) composer implementation. One of the reasons, for example, let's say a user is replying to a message and recording an audio while the keyboard is being shown. Then, in the middle of the recording, the user starts typing a message, causing the the recorder to be hidden and text with the send button to be shown, so @record-audio-reset-fn is called to stop the recording and reset current audio component to its initial state.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got it! Thank you @briansztamfater

@OmarBasem
Copy link
Contributor Author

Hi @briansztamfater,
when adding the audio component to the new composer I noticed an issue that happens on re-entering the chat screen after recording an audio. The send and delete buttons are not displayed. This issue is also happening on the old composer on develop. I tried to debug the issue but the quo2 audio component is a bit complex. Are you aware of that issue or tracking it somewhere?

@status-im-auto
Copy link
Member

status-im-auto commented May 1, 2023

Jenkins Builds

Click to see older builds (11)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 9350bc3 #1 2023-05-01 17:14:08 ~5 min android-e2e 🤖apk 📲
✔️ 9350bc3 #1 2023-05-01 17:14:52 ~6 min android 🤖apk 📲
✔️ 9350bc3 #1 2023-05-01 17:15:02 ~6 min ios 📱ipa 📲
✔️ 9350bc3 #1 2023-05-01 17:15:20 ~6 min tests 📄log
✔️ d773fd2 #2 2023-05-02 10:03:19 ~5 min android-e2e 🤖apk 📲
✔️ d773fd2 #2 2023-05-02 10:04:34 ~6 min android 🤖apk 📲
✔️ d773fd2 #2 2023-05-02 10:04:48 ~6 min tests 📄log
✔️ 1ea6d23 #3 2023-05-02 10:10:22 ~5 min android 🤖apk 📲
✔️ 1ea6d23 #3 2023-05-02 10:10:32 ~5 min android-e2e 🤖apk 📲
✔️ 1ea6d23 #3 2023-05-02 10:11:35 ~6 min ios 📱ipa 📲
✔️ 1ea6d23 #3 2023-05-02 10:12:05 ~7 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 3ef71e0 #4 2023-05-02 10:38:17 ~5 min android 🤖apk 📲
✔️ 3ef71e0 #4 2023-05-02 10:38:18 ~5 min android-e2e 🤖apk 📲
✔️ 3ef71e0 #4 2023-05-02 10:38:41 ~5 min tests 📄log
✔️ 3ef71e0 #4 2023-05-02 10:39:07 ~6 min ios 📱ipa 📲
✔️ d775438 #5 2023-05-03 04:49:19 ~5 min android 🤖apk 📲
✔️ d775438 #5 2023-05-03 04:50:14 ~6 min ios 📱ipa 📲
✔️ d775438 #5 2023-05-03 04:50:19 ~6 min android-e2e 🤖apk 📲
✔️ d775438 #5 2023-05-03 04:50:32 ~6 min tests 📄log

@OmarBasem OmarBasem requested a review from ilmotta May 1, 2023 17:18
@briansztamfater
Copy link
Member

Hi @briansztamfater, when adding the audio component to the new composer I noticed an issue that happens on re-entering the chat screen after recording an audio. The send and delete buttons are not displayed. This issue is also happening on the old composer on develop. I tried to debug the issue but the quo2 audio component is a bit complex. Are you aware of that issue or tracking it somewhere?

Not that I am aware of, I tested those cases carefully while initially integrating the component so maybe something broke, I will check.

@briansztamfater
Copy link
Member

@OmarBasem Please cherry-pick e4d7b2828 and let me know if that fixes the issue

@OmarBasem OmarBasem force-pushed the reimplement-composer-audio branch from 9350bc3 to d773fd2 Compare May 2, 2023 09:57
@status-im-auto
Copy link
Member

✔️ status-mobile/prs/tests/PR-15790#2 🔹 ~6 min 51 sec 🔹 d773fd2 🔹 📦 tests package

@OmarBasem
Copy link
Contributor Author

@OmarBasem Please cherry-pick e4d7b2828 and let me know if that fixes the issue

Perfect!

@OmarBasem OmarBasem requested review from briansztamfater and removed request for briansztamfater May 2, 2023 10:05
OmarBasem and others added 7 commits May 3, 2023 08:43
lint

rever pod

review

lint

review

udpates

updates

updates

udpates

updates

updates

lint

updates

composer shell button

updates

updates

updates

updates

updates

updates

updates

updates
@OmarBasem OmarBasem force-pushed the reimplement-composer-audio branch from 3ef71e0 to d775438 Compare May 3, 2023 04:43
@status-im-auto
Copy link
Member

73% of end-end tests have passed

Total executed tests: 30
Failed tests: 8
Passed tests: 22
IDs of failed tests: 702958,702786,702894,702783,702850,702841,702957,702838 

Failed tests (8)

Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    # STEP: Device1 goes back online and checks that 1-1 chat will be fetched
    Device 1: Looking for a message by text: test message

    critical/chats/test_1_1_public_chats.py:1305: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message status was not delivered after back up online, it is "Sending"!
    



    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850

    Device 2: Find Button by accessibility id: close-activity-center
    Device 2: Tap on found: Button

    medium/test_activity_center.py:73: in test_activity_center_contact_request_decline
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Username is not shown on 'Add contact' page after entering valid public key 
    

    [[Blocked by 15500]]

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mentions_push_notification, id: 702786

    # STEP: Admin gets push notification with the mention and tap it
    Device 1: Getting PN by 'user_1'

    critical/test_public_chat_browsing.py:713: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:184: 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
    



    Device sessions

    2. test_community_contact_block_unblock_offline, id: 702894

    Device 2: Tap on found: SendMessageButton
    Device 1: Looking for a message by text: Hurray! unblocked

    critical/test_public_chat_browsing.py:624: in test_community_contact_block_unblock_offline
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message was not received in public chat after user unblock!
    E    Message was not received in 1-1 chat after user unblock!
    



    Device sessions

    3. test_community_unread_messages_badge, id: 702841

    # STEP: Check new messages badge is shown for community
    Device 1: Click until ChatMessageInput by accessibility id: chat-message-input will be presented

    critical/test_public_chat_browsing.py:553: in test_community_unread_messages_badge
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     New message community badge is not shown
    



    Device sessions

    4. 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:410: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:927: 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

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958

    Device 2: Clearing history in chat 'user1' by long press
    Device 2: Looking for chat: 'user1'

    medium/test_activity_center.py:290: in test_activity_center_admin_notification_accept_swipe
        self.home_2.clear_chat_long_press(self.username_1)
    ../views/home_view.py:444: in clear_chat_long_press
        self.get_chat(username).long_press_element()
    ../views/base_element.py:292: in long_press_element
        element = self.find_element()
    ../views/home_view.py:64: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElement by xpath:`//*[@content-desc='chat-name-text'][starts-with(@text,'user1')]/..` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_activity_center_mentions, id: 702957

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

    medium/test_activity_center.py:259: in test_activity_center_mentions
        self.channel_2.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

    Passed tests (22)

    Click to expand

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

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    2. test_1_1_chat_edit_message, id: 702855
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    5. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    6. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    7. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    8. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    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_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    4. test_community_message_delete, id: 702839
    Device sessions

    5. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    6. test_community_message_edit, id: 702843
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    @OmarBasem OmarBasem merged commit a973976 into develop May 3, 2023
    @OmarBasem OmarBasem deleted the reimplement-composer-audio branch May 3, 2023 05:54
    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented May 3, 2023

    Hello @omar! I was wondering if you could kindly clarify why the manual testing phase was skipped before merging this PR? Thank you for your assistance.

    @OmarBasem
    Copy link
    Contributor Author

    Hi @pavloburykh, the new composer is still a work in progress and is still disabled on develop. There are 2 more issues remaining (#15331, #15747) which this one is a dependency for. We can do manual testing on the final issue (#15747). Thank you.

    @pavloburykh
    Copy link
    Contributor

    Hi @pavloburykh, the new composer is still a work in progress and is still disabled on develop. There are 2 more issues remaining (#15331, #15747) which this one is a dependency for. We can do manual testing on the final issue (#15747). Thank you.

    Got it! Thanx for the explanation @OmarBasem

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

    Successfully merging this pull request may close these issues.

    Reimplement composer - add audio component
    5 participants