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

[#17909] fix: unhandled error when app launched in offline mode #17973

Merged
merged 1 commit into from
Dec 4, 2023

Conversation

mohsen-ghafouri
Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri commented Nov 22, 2023

fixes #17909

Summary

  • Read certificate PEM in offline mode throws null pointer error in android
  • timesource had issue when device is offline in status-go, already fixed here status-go/pull/4304. i just pointed the app to latest changes

Steps to test

  1. Close the app
  2. Turn on the flight mode
  3. Open the app again

Result

iOS

Screen.Recording.2023-11-22.at.23.45.10.mov

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Nov 22, 2023

Jenkins Builds

Click to see older builds (13)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ b0d1e71 #2 2023-11-22 20:57:32 ~6 min ios 📱ipa 📲
✔️ b0d1e71 #2 2023-11-22 20:59:34 ~8 min android-e2e 🤖apk 📲
✔️ b0d1e71 #2 2023-11-22 21:00:26 ~9 min android 🤖apk 📲
✔️ b0d1e71 #2 2023-11-22 21:01:35 ~10 min tests 📄log
✔️ b1b3842 #3 2023-11-24 18:28:07 ~8 min android-e2e 🤖apk 📲
✔️ b1b3842 #3 2023-11-24 18:32:12 ~12 min android 🤖apk 📲
✔️ b1b3842 #3 2023-11-24 18:32:12 ~12 min ios 📱ipa 📲
✔️ b1b3842 #3 2023-11-24 18:33:43 ~14 min tests 📄log
✔️ c9b3d58 #4 2023-12-01 08:54:07 ~8 min android 🤖apk 📲
✔️ c9b3d58 #4 2023-12-01 08:54:18 ~8 min android-e2e 🤖apk 📲
✔️ c9b3d58 #4 2023-12-01 08:54:36 ~8 min ios 📱ipa 📲
✔️ c9b3d58 #4 2023-12-01 08:59:44 ~14 min tests 📄log
✔️ c9b3d58 #5 2023-12-02 08:51:53 ~6 min android-e2e 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 95f1e2c #5 2023-12-04 09:53:01 ~6 min ios 📱ipa 📲
✔️ 95f1e2c #6 2023-12-04 09:53:08 ~6 min android-e2e 🤖apk 📲
✔️ 95f1e2c #5 2023-12-04 09:53:36 ~7 min android 🤖apk 📲
✔️ 0ee74e3 #7 2023-12-04 14:26:46 ~6 min android-e2e 🤖apk 📲
✔️ 0ee74e3 #6 2023-12-04 14:27:02 ~6 min android 🤖apk 📲
✔️ 0ee74e3 #6 2023-12-04 14:28:46 ~8 min ios 📱ipa 📲
✔️ 0ee74e3 #7 2023-12-04 14:45:42 ~9 min tests 📄log

@siddarthkay
Copy link
Contributor

Hey @mohsen-ghafouri : Thanks for your contribution here, I too recently faced issue getting the android build to work when there was no internet connection.
I'll try out your branch locally and report back.

Copy link
Contributor

@siddarthkay siddarthkay left a comment

Choose a reason for hiding this comment

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

tested locally, works offline! good job @mohsen-ghafouri

@mohsen-ghafouri mohsen-ghafouri moved this from REVIEW to E2E Tests in Pipeline for QA Nov 23, 2023
@mohsen-ghafouri
Copy link
Contributor Author

status-go tag is updated in develop and this PR doesn't require separate branch in go. now it's just mobile changes

@pavloburykh pavloburykh self-assigned this Dec 4, 2023
@pavloburykh pavloburykh moved this from E2E Tests to IN TESTING in Pipeline for QA Dec 4, 2023
@pavloburykh
Copy link
Contributor

pavloburykh commented Dec 4, 2023

@mohsen-ghafouri thank you for the PR! I am not reproducing the issue anymore. I also have not reproduced the issue in latest develop thought, as you have mentioned the correspondent go fix is already there.

@mohsen-ghafouri just want to clarify: do we still need this PR to be merged in mobile? Asking because it seems that bug is not reproducible in develop even without this commit. But I might be missing something.

@status-im-auto
Copy link
Member

81% of end-end tests have passed

Total executed tests: 48
Failed tests: 5
Expected to fail tests: 4
Passed tests: 39
IDs of failed tests: 702786,703202,702809,702846,703133 
IDs of expected to fail tests: 702731,702808,702732,703503 

Failed tests (5)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. 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:901: 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))]))
     Edited message is not shown correctly for the (receiver) admin
    



    Device sessions

    2. 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:953: 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) 
    E   
    E    italic text in asteric is not displayed with markdown in community channel for the recipient (device 1) 
    E   
    E    italic text in underscore is not displayed with markdown in community channel for the recipient (device 1) 
    E   
    E    inline code is not displayed with markdown in community channel for the recipient (device 1) 
    E   
    E    code blocks is not displayed with markdown in community channel for the recipient (device 1) 
    E   
    E    quote reply (one row) is not displayed with markdown in community channel for the recipient (device 1)
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846

    ## Signed in successfully!
    Device 1: Looking for a message by text: some_text

    critical/chats/test_public_chat_browsing.py:83: in test_community_navigate_to_channel_when_relaunch
        self.drivers[0].fail("Not navigated to channel view after reopening app")
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Not navigated to channel view after reopening app
    



    Device sessions

    2. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find Button by accessibility id: show-profiles
    Device 1: Tap on found: Button

    critical/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        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))]))
     Incorrect contacts number restored: 3 instead of 2
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

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

    Expected to fail tests (4)

    Click to expand

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

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

    2. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

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

    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]]

    Passed tests (39)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    3. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    5. test_community_unread_messages_badge, id: 702841
    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_one_image_send_reply, id: 702859
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

    10. test_community_several_images_send_reply, id: 703194
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    5. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_send_image_save_and_share, id: 703391
    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

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_undo_delete_message, id: 702869
    Device sessions

    3. 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

    3. test_add_contact_field_validation, id: 702777
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_deep_links, id: 702775
    Device sessions

    2. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    3. test_links_open_universal_links_from_other_apps, id: 704614
    Device sessions

    @mohsen-ghafouri
    Copy link
    Contributor Author

    @pavloburykh In this PR, I've added additional checks to prevent crashes on both Android and iOS platforms. These extra safety measures are beneficial and shouldn't pose any issues.

    @pavloburykh
    Copy link
    Contributor

    @pavloburykh In this PR, I've added additional checks to prevent crashes on both Android and iOS platforms. These extra safety measures are beneficial and shouldn't pose any issues.

    Great! Thank you for that @mohsen-ghafouri! I have triggered re-run of failed e2e. Let's wait for the results and after that we will be ready to merge. I will ping you here.

    @status-im-auto
    Copy link
    Member

    60% of end-end tests have passed

    Total executed tests: 5
    Failed tests: 2
    Expected to fail tests: 0
    Passed tests: 3
    
    IDs of failed tests: 703133,702786 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. 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:901: 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
    E    Edited message is not shown correctly for the (receiver) admin
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find Button by accessibility id: show-profiles
    Device 1: Tap on found: Button

    critical/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        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))]))
     Incorrect contacts number restored: 3 instead of 2
    



    Device sessions

    Passed tests (3)

    Click to expand

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    @mohsen-ghafouri PR is ready for merge. Thank you!

    @pavloburykh pavloburykh moved this from IN TESTING to MERGE in Pipeline for QA Dec 4, 2023
    @mohsen-ghafouri
    Copy link
    Contributor Author

    Thank you @pavloburykh

    @mohsen-ghafouri mohsen-ghafouri merged commit f695dbf into develop Dec 4, 2023
    6 checks passed
    Pipeline for QA automation moved this from MERGE to DONE Dec 4, 2023
    @mohsen-ghafouri mohsen-ghafouri deleted the fix/offline-null-issue branch December 4, 2023 14:48
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    "java.lang.NullPointerException" error is shown if app while is relaunched in the flight mode
    6 participants