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

upgrade react-native to 0.75.3 #21268

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

siddarthkay
Copy link
Contributor

@siddarthkay siddarthkay commented Sep 15, 2024

Summary

This PR upgrades react-native to v0.75.3
Following changes were also made :

  • NDK upgraded to 26.1.10909125
  • @react-native/gradle-plugin is set up using includeBuild gradle mechanism which is a better way.
  • reactjs is upgraded to 18.3.1
  • react-native-config is upgraded to 1.5.3
  • react-native-navigation is upgraded to 7.40.1
  • react-native-reanimated is upgraded to 3.16.6
  • react-native-gesture-handler is upgraded to 2.22.0
  • react-native-keychain is upgraded to 9.2.2
  • patches for react-native-navigation are updated. PR in RNN repo -> fix(Android): Kotlin build issues with RN 0.75.3 wix/react-native-navigation#7913
  • patched autolinking behaviour in react-native to prevent generating autolinking.json in a gradle step. We run gradle in a sandbox with --offline so this is not feasible for us.
    We do the same thing via a nix phase called autolinkPhase.
  • AGP is bumped to 8.5.0 and aapt2 is bumped to 8.5.0-11315950
  • we no longer need to patch out -X from script_phases-patched.sh
  • gradle deps were updated.
  • pods were updated.
  • gems were updated.

Testing notes

Intense testing is required.

Platforms

  • Android
  • iOS

Side Effects

  • Profiles on device view is a bit messed up.
Screenshot 2025-01-17 at 1 11 51 PM

status: ready

@siddarthkay siddarthkay self-assigned this Sep 15, 2024
@status-im-auto
Copy link
Member

status-im-auto commented Sep 15, 2024

Jenkins Builds

Click to see older builds (112)
Commit #️⃣ Finished (UTC) Duration Platform Result
42a6095 #1 2024-09-15 15:29:20 ~10 min tests 📄log
42a6095 #1 2024-09-15 15:29:24 ~10 min android-e2e 📄log
42a6095 #1 2024-09-15 15:29:33 ~10 min android 📄log
42a6095 #1 2024-09-15 15:33:30 ~14 min ios 📄log
24ef306 #2 2024-09-15 17:30:12 ~10 min android 📄log
24ef306 #2 2024-09-15 17:30:14 ~10 min android-e2e 📄log
24ef306 #2 2024-09-15 17:30:14 ~10 min tests 📄log
✔️ 24ef306 #2 2024-09-15 17:35:08 ~15 min ios 📱ipa 📲
✔️ 6537008 #3 2024-09-16 03:58:44 ~14 min ios 📱ipa 📲
6537008 #3 2024-09-16 04:07:09 ~22 min android 📄log
6537008 #3 2024-09-16 04:13:42 ~29 min android-e2e 📄log
91bef1c #4 2024-09-17 05:11:18 ~4 min tests 📄log
91bef1c #4 2024-09-17 05:11:42 ~4 min android-e2e 📄log
91bef1c #4 2024-09-17 05:11:44 ~4 min android 📄log
169d36e #5 2024-09-17 05:22:23 ~2 min tests 📄log
169d36e #5 2024-09-17 05:22:48 ~3 min android-e2e 📄log
169d36e #5 2024-09-17 05:22:54 ~3 min android 📄log
✔️ 169d36e #5 2024-09-17 05:32:10 ~12 min ios 📱ipa 📲
9539861 #6 2024-09-17 13:52:16 ~4 min android 📄log
9539861 #6 2024-09-17 13:53:45 ~6 min android-e2e 📄log
9539861 #6 2024-09-17 13:56:20 ~8 min tests 📄log
0f31894 #7 2024-09-17 14:06:51 ~2 min android-e2e 📄log
0f31894 #7 2024-09-17 14:08:00 ~3 min tests 📄log
0f31894 #7 2024-09-17 14:09:14 ~4 min android 📄log
✔️ 0f31894 #7 2024-09-17 14:19:32 ~14 min ios 📱ipa 📲
d81a2fd #8 2024-09-18 02:33:58 ~11 sec android-e2e 📄log
d81a2fd #8 2024-09-18 02:33:58 ~11 sec android 📄log
6a2ebae #9 2024-09-18 02:36:11 ~14 sec android-e2e 📄log
8abe656 #10 2024-09-18 02:41:35 ~3 min tests 📄log
✔️ 8abe656 #10 2024-09-18 02:46:40 ~8 min android-e2e 🤖apk 📲
✔️ 8abe656 #10 2024-09-18 02:46:50 ~8 min android 🤖apk 📲
✔️ 8abe656 #10 2024-09-18 02:48:44 ~10 min ios 📱ipa 📲
8d9c04d #12 2024-09-18 03:07:18 ~4 min tests 📄log
✔️ 8d9c04d #12 2024-09-18 03:12:13 ~9 min android 🤖apk 📲
✔️ 8d9c04d #12 2024-09-18 03:12:32 ~9 min android-e2e 🤖apk 📲
0dced72 #13 2024-09-18 03:17:56 ~4 min tests 📄log
✔️ 0dced72 #13 2024-09-18 03:20:28 ~6 min android 🤖apk 📲
✔️ 0dced72 #13 2024-09-18 03:22:56 ~9 min android-e2e 🤖apk 📲
96d667e #14 2024-09-18 03:33:33 ~2 min tests 📄log
✔️ 96d667e #14 2024-09-18 03:39:16 ~8 min android-e2e 🤖apk 📲
✔️ 96d667e #14 2024-09-18 03:39:42 ~8 min android 🤖apk 📲
✔️ 96d667e #14 2024-09-18 03:40:41 ~9 min ios 📱ipa 📲
e469409 #15 2024-09-18 05:13:30 ~3 min tests 📄log
✔️ e469409 #15 2024-09-18 05:19:32 ~9 min android-e2e 🤖apk 📲
✔️ e469409 #15 2024-09-18 05:19:53 ~9 min android 🤖apk 📲
✔️ e469409 #15 2024-09-18 05:27:54 ~17 min ios 📱ipa 📲
e469409 #16 2024-09-20 09:35:23 ~3 min tests 📄log
✔️ e469409 #16 2024-09-20 09:40:28 ~8 min android-e2e 🤖apk 📲
✔️ e469409 #16 2024-09-20 09:40:38 ~8 min android 🤖apk 📲
✔️ e469409 #16 2024-09-20 09:42:32 ~10 min ios 📱ipa 📲
307b76d #17 2024-09-22 13:32:18 ~3 min tests 📄log
307b76d #17 2024-09-22 13:32:31 ~3 min android 📄log
✔️ 307b76d #17 2024-09-22 13:35:40 ~6 min android-e2e 🤖apk 📲
953c927 #18 2024-09-22 13:41:19 ~4 min tests 📄log
✔️ 953c927 #18 2024-09-22 13:46:54 ~10 min android-e2e 🤖apk 📲
✔️ 953c927 #18 2024-09-22 13:48:19 ~11 min android 🤖apk 📲
✔️ 953c927 #18 2024-09-22 13:52:19 ~15 min ios 📱ipa 📲
✔️ 0070bfc #20 2024-10-01 07:51:03 ~6 min android-e2e 🤖apk 📲
✔️ 0070bfc #20 2024-10-01 07:52:58 ~8 min android 🤖apk 📲
✔️ 0070bfc #20 2024-10-01 07:53:51 ~9 min ios 📱ipa 📲
0070bfc #20 2024-10-01 07:55:01 ~10 min tests 📄log
898c6c4 #21 2024-10-03 12:16:52 ~3 min tests 📄log
✔️ 898c6c4 #21 2024-10-03 12:21:34 ~7 min android-e2e 🤖apk 📲
✔️ 898c6c4 #21 2024-10-03 12:23:10 ~9 min android 🤖apk 📲
✔️ 898c6c4 #21 2024-10-03 12:26:07 ~12 min ios 📱ipa 📲
c4c9e00 #22 2025-01-07 14:51:08 ~41 sec android-e2e 📄log
c4c9e00 #22 2025-01-07 14:51:11 ~43 sec android 📄log
c4c9e00 #22 2025-01-07 14:51:19 ~47 sec ios 📄log
c4c9e00 #22 2025-01-07 14:52:16 ~1 min tests 📄log
f10ff5a #23 2025-01-07 17:25:49 ~4 min tests 📄log
f10ff5a #23 2025-01-07 17:26:04 ~4 min ios 📄log
f10ff5a #23 2025-01-07 17:26:41 ~5 min android-e2e 📄log
f10ff5a #23 2025-01-07 17:27:55 ~6 min android 📄log
4c0016e #24 2025-01-09 09:24:06 ~4 min tests 📄log
✔️ 4c0016e #24 2025-01-09 09:30:19 ~10 min ios 📱ipa 📲
4c0016e #24 2025-01-09 09:31:31 ~11 min android 📄log
4c0016e #24 2025-01-09 09:31:34 ~11 min android-e2e 📄log
✔️ 4c0016e #25 2025-01-09 09:47:14 ~11 min android 🤖apk 📲
✔️ 4c0016e #25 2025-01-09 09:56:40 ~7 min android-e2e 🤖apk 📲
4d755a8 #26 2025-01-09 11:22:02 ~4 min tests 📄log
✔️ 4d755a8 #27 2025-01-09 11:27:16 ~9 min android 🤖apk 📲
✔️ 4d755a8 #26 2025-01-09 11:27:44 ~9 min ios 📱ipa 📲
✔️ 4d755a8 #27 2025-01-09 11:28:11 ~10 min android-e2e 🤖apk 📲
0c9f2bf #27 2025-01-11 03:59:59 ~3 min tests 📄log
✔️ 0c9f2bf #28 2025-01-11 04:05:34 ~8 min android 🤖apk 📲
✔️ 0c9f2bf #28 2025-01-11 04:05:40 ~8 min android-e2e 🤖apk 📲
✔️ 0c9f2bf #27 2025-01-11 04:05:44 ~8 min ios 📱ipa 📲
✔️ d7b0dda #29 2025-01-11 06:07:40 ~6 min tests 📄log
✔️ d7b0dda #30 2025-01-11 06:10:33 ~9 min android 🤖apk 📲
✔️ d7b0dda #30 2025-01-11 06:11:16 ~9 min android-e2e 🤖apk 📲
✔️ d7b0dda #29 2025-01-11 06:12:33 ~11 min ios 📱ipa 📲
✔️ 6f6c688 #30 2025-01-14 08:02:04 ~7 min ios 📱ipa 📲
✔️ 6f6c688 #30 2025-01-14 08:07:13 ~12 min tests 📄log
✔️ 6f6c688 #32 2025-01-14 11:04:08 ~7 min android 🤖apk 📲
✔️ 6f6c688 #32 2025-01-14 11:13:00 ~8 min android-e2e 🤖apk 📲
✔️ ac3984a #31 2025-01-16 10:16:41 ~7 min tests 📄log
✔️ 0bf0ba8 #34 2025-01-16 10:26:20 ~7 min android 🤖apk 📲
✔️ 0bf0ba8 #32 2025-01-16 10:26:33 ~8 min ios 📱ipa 📲
✔️ 0bf0ba8 #32 2025-01-16 10:30:40 ~12 min tests 📄log
✔️ 0bf0ba8 #35 2025-01-16 11:10:28 ~7 min android-e2e 🤖apk 📲
✔️ 0041766 #33 2025-01-17 07:57:46 ~5 min tests 📄log
✔️ 0041766 #33 2025-01-17 08:00:50 ~8 min ios 📱ipa 📲
✔️ 0041766 #36 2025-01-17 08:03:07 ~10 min android-e2e 🤖apk 📲
✔️ 0041766 #35 2025-01-17 08:03:39 ~11 min android 🤖apk 📲
✔️ 21afe63 #34 2025-01-17 08:12:28 ~5 min tests 📄log
✔️ 21afe63 #34 2025-01-17 08:16:51 ~10 min ios 📱ipa 📲
✔️ 21afe63 #37 2025-01-17 08:17:11 ~10 min android-e2e 🤖apk 📲
✔️ 21afe63 #36 2025-01-17 08:17:21 ~10 min android 🤖apk 📲
✔️ 8a5843a #36 2025-01-17 09:26:07 ~4 min tests 📄log
✔️ 8a5843a #36 2025-01-17 09:29:20 ~8 min ios 📱ipa 📲
✔️ 8a5843a #38 2025-01-17 09:29:21 ~8 min android 🤖apk 📲
✔️ 8a5843a #39 2025-01-17 09:34:02 ~12 min android-e2e 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ dc86a53 #37 2025-01-17 10:15:45 ~4 min tests 📄log
✔️ dc86a53 #39 2025-01-17 10:18:48 ~7 min android 🤖apk 📲
✔️ dc86a53 #37 2025-01-17 10:19:04 ~8 min ios 📱ipa 📲
✔️ dc86a53 #40 2025-01-17 10:22:26 ~11 min android-e2e 🤖apk 📲
✔️ 7142492 #38 2025-01-18 06:55:54 ~4 min tests 📄log
✔️ 7142492 #38 2025-01-18 06:59:34 ~8 min ios 📱ipa 📲
✔️ 7142492 #41 2025-01-18 07:01:11 ~9 min android-e2e 🤖apk 📲
✔️ 7142492 #40 2025-01-18 07:02:57 ~11 min android 🤖apk 📲

@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch 2 times, most recently from 169d36e to 9539861 Compare September 17, 2024 13:47
@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch 2 times, most recently from 6a2ebae to 8abe656 Compare September 18, 2024 02:38
org.junit:junit-bom:5.9.3
org.junit:junit-bom:5.9.2
org.codehaus.mojo:animal-sniffer-annotations:1.23
com.android.tools.lint:lint-gradle:31.5.0' \
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

This shit is tragic and unsustainable...

scripts/build-android.sh Outdated Show resolved Hide resolved
scripts/build-android.sh Outdated Show resolved Hide resolved
@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 0dced72 to 96d667e Compare September 18, 2024 03:30
@siddarthkay siddarthkay requested review from a team September 18, 2024 05:00
@siddarthkay siddarthkay force-pushed the use-nixpkgs-unstable-gradle-8-8 branch from 17180a0 to 9ed6679 Compare September 18, 2024 05:07
@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 96d667e to e469409 Compare September 18, 2024 05:09
@siddarthkay siddarthkay force-pushed the use-nixpkgs-unstable-gradle-8-8 branch 5 times, most recently from e64d894 to 3c5b671 Compare September 19, 2024 15:26
Base automatically changed from use-nixpkgs-unstable-gradle-8-8 to develop September 20, 2024 09:31
@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from e469409 to 307b76d Compare September 22, 2024 13:28
Makefile Outdated Show resolved Hide resolved
org.junit:junit-bom:5.9.3
org.junit:junit-bom:5.9.2
org.codehaus.mojo:animal-sniffer-annotations:1.23
com.android.tools.lint:lint-gradle:31.5.0' \
Copy link
Member

Choose a reason for hiding this comment

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

This shit is tragic and unsustainable...

scripts/generate_autolink_android.sh Outdated Show resolved Hide resolved
scripts/build-android.sh Outdated Show resolved Hide resolved
ci/Jenkinsfile.android Outdated Show resolved Hide resolved
@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch 2 times, most recently from 4a62604 to 0070bfc Compare October 1, 2024 07:44
@siddarthkay siddarthkay marked this pull request as draft October 1, 2024 08:07
@status-im-auto
Copy link
Member

29% of end-end tests have passed

Total executed tests: 7
Failed tests: 5
Expected to fail tests: 0
Passed tests: 2
Not executed tests: 1
IDs of not executed tests: 740490 
IDs of failed tests: 727230,703133,702745,727229,702843 

Not executed tests (1)

Click to expand
  • Rerun not executed tests
  • Failed tests (5)

    Click to expand
  • Rerun failed tests

  • Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find `Button` by `xpath`: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]`

    critical/test_wallet.py:164: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:43: in _get_balances_before_tx
        self.wallet_1.get_account_element().click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]` 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
    



    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:139: in test_wallet_send_eth
        self.wallet_1.send_asset(address='arb1:' + self.receiver['wallet_address'],
    ../views/wallet_view.py:148: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:131: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:120: 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
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 1: Find EditBox by accessibility id: enter-contact-code-input
    Device 1: Type eth:arb1:oeth:0x48fa72f5a51f1742184482a1a2acbe9e6ce3cb2b to EditBox

    Test setup failed: critical/chats/test_public_chat_browsing.py:322: in prepare_devices
        self.home_1.add_contact(self.public_key_2)
    ../views/home_view.py:437: in add_contact
        chat.element_by_translation_id("user-found").wait_for_visibility_of_element()
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by xpath:`//*[@text="User found"]` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Find EditBox by accessibility id: enter-contact-code-input
    Device 1: Type eth:arb1:oeth:0xa8f8091aa5906089f7b14e3619d662e530d7e186 to EditBox

    Test setup failed: critical/chats/test_1_1_public_chats.py:37: in prepare_devices
        self.home_1.add_contact(self.public_key_2)
    ../views/home_view.py:437: in add_contact
        chat.element_by_translation_id("user-found").wait_for_visibility_of_element()
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by xpath:`//*[@text="User found"]` is not found on the screen after wait_for_visibility_of_element
    



    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:244: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:192: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     zQ3...dWXh5 was not restored as a contact from waku backup!
    E    zQ3...Vacac was not restored as a contact from waku backup!
    



    Device sessions

    Passed tests (2)

    Click to expand

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    @status-im-auto
    Copy link
    Member

    29% of end-end tests have passed

    Total executed tests: 7
    Failed tests: 5
    Expected to fail tests: 0
    Passed tests: 2
    Not executed tests: 1
    
    IDs of not executed tests: 740490 
    
    IDs of failed tests: 727230,703133,702745,727229,702843 
    

    Not executed tests (1)

    Click to expand
  • Rerun not executed tests
  • Failed tests (5)

    Click to expand
  • Rerun failed tests

  • 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:244: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:192: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     zQ3...dWXh5 was not restored as a contact from waku backup!
    E    zQ3...Vacac was not restored as a contact from waku backup!
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Find EditBox by accessibility id: enter-contact-code-input
    Device 1: Type eth:arb1:oeth:0x897596e9ac0dcb2bab8c4f021b652a4394f33d45 to EditBox

    Test setup failed: critical/chats/test_1_1_public_chats.py:37: in prepare_devices
        self.home_1.add_contact(self.public_key_2)
    ../views/home_view.py:437: in add_contact
        chat.element_by_translation_id("user-found").wait_for_visibility_of_element()
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by xpath:`//*[@text="User found"]` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 1: Find EditBox by accessibility id: enter-contact-code-input
    Device 1: Type eth:arb1:oeth:0xcbb5efa77b22f088cca38c65b78ff6284435e1d6 to EditBox

    Test setup failed: critical/chats/test_public_chat_browsing.py:322: in prepare_devices
        self.home_1.add_contact(self.public_key_2)
    ../views/home_view.py:437: in add_contact
        chat.element_by_translation_id("user-found").wait_for_visibility_of_element()
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by xpath:`//*[@text="User found"]` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find Button by xpath: //android.view.ViewGroup[contains(@content-desc,'Account 1')]

    critical/test_wallet.py:164: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:43: in _get_balances_before_tx
        self.wallet_1.get_account_element().click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]` 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
    



    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:139: in test_wallet_send_eth
        self.wallet_1.send_asset(address='arb1:' + self.receiver['wallet_address'],
    ../views/wallet_view.py:148: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:131: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:120: 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
    



    Passed tests (2)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    @VolodLytvynenko
    Copy link
    Contributor

    @status-im/mobile-qa : pls ignore this E2E I was testing the new automation on this PR

    We're keeping an eye, even when we are ignoring
    image

    @ilmotta
    Copy link
    Contributor

    ilmotta commented Jan 9, 2025

    @siddarthkay, I did a quick check on this PR in an emulator to get a feeling of how it's going. Everything seemed to be rendered correctly to me.

    One problem:

    Nothing happens when pressing on certain views, such as the profile avatar to open the settings, pressing on tabs (not bottom tabs), pressing on the "invite friends to Status", pressing on the "Discover" communities button, etc, but some buttons/actions do work, like bottom sheets and their actions. Here is the logcat output right after pressing on these views:

    01-09 13:39:22.594  5672  5755 D EGL_emulation: app_time_stats: avg=3.49ms min=2.17ms max=7.58ms count=60
    01-09 13:39:23.252  1108  1108 D TaplEvents: TIS / TouchInteractionService.onInputEvent: MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=173.97461, y[0]=268.98438, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10567102, downTime=10567102, deviceId=4, source=0x5002, displayId=0, eventId=457801554 }
    01-09 13:39:23.301  1108  1108 D TaplEvents: TIS / TouchInteractionService.onInputEvent: MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=173.97461, y[0]=268.98438, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10567152, downTime=10567102, deviceId=4, source=0x5002, displayId=0, eventId=212219279 }
    01-09 13:39:23.309   424  4956 D audioserver: FGS Logger Transaction failed
    01-09 13:39:23.309   424  4956 D audioserver: -129
    01-09 13:39:23.357   424   534 D AudioFlinger: mixer(0x7dd0f3dce930) throttle end: throttle time(33)
    01-09 13:39:23.470   424   534 D audioserver: FGS Logger Transaction failed
    01-09 13:39:23.470   424   534 D audioserver: -129
    01-09 13:39:23.596  5672  5755 D EGL_emulation: app_time_stats: avg=4.06ms min=2.11ms max=6.61ms count=60
    01-09 13:39:24.029  5672  5672 W Thread-15: type=1400 audit(0.0:762): avc:  denied  { bind } for  scontext=u:r:untrusted_app:s0:c193,c256,c512,c768 tcontext=u:r:untrusted_app:s0:c193,c256,c512,c768 tclass=netlink_route_socket permissive=0 bug=b/155595000 app=im.status.ethereum.debug
    

    @siddarthkay
    Copy link
    Contributor Author

    Thanks for checking this PR out @ilmotta, I too observed similar issues.
    My guess was related to navigation library but I did not look deep into it.

    @ulisesmac
    Copy link
    Contributor

    ulisesmac commented Jan 10, 2025

    Thanks for checking this PR out @ilmotta, I too observed similar issues. My guess was related to navigation library but I did not look deep into it.

    We need to check, but it may also be related to usages of touchable-withouth-feedback

    @siddarthkay
    Copy link
    Contributor Author

    @ulisesmac : Thanks for the suggestion, indeed it was touchable-withouth-feedback
    I swapped many places with pressable and now I can navigate to all views.
    cc @ilmotta
    Also pls pardon/review my quick and raw refactoring of cljs side, its been a while.

    @ulisesmac
    Copy link
    Contributor

    ulisesmac commented Jan 11, 2025

    @siddarthkay We can't just move from touchable-without-feedback -> pressable by swapping the component.

    Sometimes it works, but they work different.

    touchable-without-feedback adds touchable props to its child, and pressable behaves like an rn/view that supports touchable events.

    What I want to say is that if we just swap, we might break styles in some areas (or if we are lucky, maybe nothing has been broken), but again, we need to confirm.

    I can check it on Monday and fix it if needed, if you wish.

    @siddarthkay
    Copy link
    Contributor Author

    I can check it on Monday and fix it if needed, if you wish.

    Thanks! I would appreciate that!

    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 061331d to d7b0dda Compare January 11, 2025 06:01
    @status-im-auto
    Copy link
    Member

    75% of end-end tests have passed

    Total executed tests: 8
    Failed tests: 2
    Expected to fail tests: 0
    Passed tests: 6
    
    IDs of failed tests: 702745,702843 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 1: Tap on found: Button
    Device 1: Find `Button` by `accessibility id`: `next-button`

    Test setup failed: critical/chats/test_public_chat_browsing.py:337: in prepare_devices
        self.community_1.invite_to_community(self.community_name, self.username_2)
    ../views/chat_view.py:392: in invite_to_community
        self.next_button.click()
    ../views/base_element.py:89: in click
        element = self.find_element()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `next-button` 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

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Tap on found: Button
    Device 1: Find Button by xpath: //*[@content-desc='user-avatar']/following-sibling::android.view.ViewGroup[@content-desc='icon']

    critical/chats/test_1_1_public_chats.py:281: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        self.profile_1.edit_profile_picture(image_index=0)
    ../views/profile_view.py:227: in edit_profile_picture
        self.change_profile_photo_button.click()
    ../views/base_element.py:89: in click
        element = self.find_element()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//*[@content-desc='user-avatar']/following-sibling::android.view.ViewGroup[@content-desc='icon']` 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

    Passed tests (6)

    Click to expand

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    2. test_wallet_balance_mainnet, id: 740490

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from d7b0dda to 6f6c688 Compare January 14, 2025 07:54
    @churik
    Copy link
    Member

    churik commented Jan 16, 2025

    @ilmotta @siddarthkay

    it is a big effort and I agree that we should merge it somewhere after release cut (not sure exactly which release are we talking about :) )
    We're happy to merge it if it is not completely ideal but does not block e2e tests.
    So far for prioritizing it we need to:

    • resolve conflicts
    • get an approval
    • ping QA to start testing

    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 6f6c688 to ac3984a Compare January 16, 2025 10:09
    @siddarthkay siddarthkay marked this pull request as ready for review January 17, 2025 09:20
    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 2c01ef3 to 8a5843a Compare January 17, 2025 09:21
    @siddarthkay siddarthkay requested a review from jakubgs January 17, 2025 09:22
    src/quo/components/buttons/button/view.cljs Outdated Show resolved Hide resolved
    @siddarthkay
    Copy link
    Contributor Author

    @status-im/mobile-qa : PR ready for testing

    This commit upgrades `react-native` to `v0.75.3`
    Following changes were also made :
    - `NDK` upgraded to `26.1.10909125`
    - `@react-native/gradle-plugin` is set up using `includeBuild` gradle mechanism which is a better way.
    - `reactjs` is upgraded to `18.3.1`
    - `react-native-config` is upgraded to `1.5.3`
    - `react-native-navigation` is upgraded to `7.40.1`
    - `react-native-reanimated` is upgraded to `3.16.6`
    - `react-native-gesture-handler` is upgraded to `2.22.0`
    - `react-native-keychain` is upgraded to `9.2.2`
    - patches for react-native-navigation are updated. PR in RNN repo -> wix/react-native-navigation#7913
    - patched autolinking behaviour in `react-native` to prevent generating `autolinking.json` in a gradle step. We run gradle in a sandbox with `--offline` so this is not feasible for us.
    We do the same thing via a nix phase called `autolinkPhase`.
    - `AGP` is bumped to `8.5.0` and `aapt2` is bumped to `8.5.0-11315950`
    - we no longer need to patch out `-X` from `script_phases-patched.sh`
    - `gradle` deps were updated.
    - `pods` were updated.
    - `gems` were updated.
    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from dc86a53 to 7142492 Compare January 18, 2025 06:50
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: E2E Tests
    Development

    Successfully merging this pull request may close these issues.

    8 participants