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

Found Issues

  1. PR_ISSUE 1 (e2e blocker): Element "edit profile picture" missing in XML structure

    • Fixed (checked by dev)
    • Verified (checked by QA)
      Notes:
  2. PR_ISSUE 2: Black stripe sticked to header when Testmode is enabled (Android)

    • Fixed (checked by dev)
    • Verified (checked by QA)
      Notes:
  3. PR_ISSUE 3 (e2e blocker): Element "Invite user" is missing in XML structure

    • Fixed (checked by dev)
    • Verified (checked by QA)
      Notes:
  4. PR_ISSUE 4: Buttons are misaligned and have inconsistent sizes in the bottom sheet

    • Fixed (checked by dev)
    • Verified (checked by QA)
      Notes:
  5. PR_ISSUE 5: Elements are overlapped on Android

    • Fixed (checked by dev)
    • Verified (checked by QA)
      Notes:
  6. PR_ISSUE 6: Confirmation dialog options are invisible

  • Fixed (checked by dev)
  • Verified (checked by QA)
    Notes:

@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 (120)
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 📲
✔️ 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 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 32497fd #39 2025-01-20 11:38:35 ~5 min tests 📄log
✔️ 32497fd #42 2025-01-20 11:43:38 ~10 min android-e2e 🤖apk 📲
✔️ 32497fd #41 2025-01-20 11:44:07 ~10 min android 🤖apk 📲
✔️ 32497fd #39 2025-01-20 11:48:00 ~14 min ios 📱ipa 📲
✔️ f677ebb #41 2025-01-27 09:26:28 ~5 min tests 📄log
✔️ f677ebb #41 2025-01-27 09:28:56 ~8 min ios 📱ipa 📲
✔️ f677ebb #44 2025-01-27 09:31:22 ~10 min android-e2e 🤖apk 📲
✔️ f677ebb #43 2025-01-27 09:32:46 ~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
@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

@siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch 2 times, most recently from 7142492 to 32497fd Compare January 20, 2025 11:32
@status-im-auto
Copy link
Member

54% of end-end tests have passed

Total executed tests: 56
Failed tests: 25
Expected to fail tests: 1
Passed tests: 30
IDs of failed tests: 702845,702840,702894,703086,702855,702947,702958,702786,702745,702844,702841,702839,702733,702809,702838,702813,704615,702948,702859,703629,702957,702843,703391,703194,740222 
IDs of expected to fail tests: 703503 

Failed tests (25)

Click to expand
  • Rerun failed tests

  • Class TestFallbackMultipleDevice:

    1. test_fallback_validate_seed_phrase, id: 740222

    Device 2: Find `Button` by `xpath`: `//*[@text="Continue" or @text="CONTINUE"]`
    Device 2: Tap on found: Button

    critical/test_fallback.py:291: in test_fallback_validate_seed_phrase
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Error is not shown for already synced account; also Unexpected Alert is shown: 'Keys for this account already exist and can’t be added again. If you’ve lost your password, passcode or Keycard, uninstall the app, reinstall and access your keys by entering your seed phrase'
    



    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845

    Test setup failed: critical/chats/test_public_chat_browsing.py:867: 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
    



    2. test_community_mentions_push_notification, id: 702786

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

    3. test_community_markdown_support, id: 702809

    Test setup failed: critical/chats/test_public_chat_browsing.py:867: 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
    



    4. test_community_hashtag_links_to_community_channels, id: 702948

    Test setup failed: critical/chats/test_public_chat_browsing.py:867: 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 
    

    [[Can't navigate to a community channel before joining the community, https://github.com//issues/21776]]

    5. test_community_join_when_node_owner_offline, id: 703629

    Test setup failed: critical/chats/test_public_chat_browsing.py:867: 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 
    

    [[Can't navigate to a community channel before joining the community, https://github.com//issues/21776]]

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

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

    Test setup failed: activity_center/test_activity_center.py:255: 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 TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    2. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    3. test_community_mark_all_messages_as_read, id: 703086

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element 
    

    [[Youtube links preview is not loaded on LambdaTest emulators, needs investigation]]

    5. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    6. test_community_message_delete, id: 702839

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    7. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Tap on found: Button
    Device 2: Attempt 0 is successful clicking close-activity-center

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    8. test_community_edit_delete_message_when_offline, id: 704615

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    9. test_community_one_image_send_reply, id: 702859

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    10. test_community_message_edit, id: 702843

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    11. test_community_several_images_send_reply, id: 703194

    Test setup failed: critical/chats/test_public_chat_browsing.py:318: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:388: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:167: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:164: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:154: in wait_for_rendering_ended_and_click
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by xpath:`//*[contains(@text, 'shtyKGcPxg8SsAfzTorx')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen after wait_for_visibility_of_element
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855

    Device 1: Could not reach ChatsTab by pressing system back button
    Device 1: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:383: in test_1_1_chat_edit_message
        home.chats_tab.click()
    ../views/base_element.py:89: in click
        element = self.find_element()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 1: ChatsTab by accessibility id: `chats-stack-tab` 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; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

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

    3. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 2: Could not reach ChatsTab by pressing system back button
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:476: in test_1_1_chat_text_message_delete_push_disappear
        self.home_2.chats_tab.click()
    ../views/base_element.py:89: in click
        element = self.find_element()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` 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; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

    4. test_1_1_chat_push_emoji, id: 702813

    Device 1: Looking for chat: 'shptPznxUAH46Sdcns1A'
    Device 1: Click until ChatMessageInput by accessibility id: chat-message-input will be presented

    critical/chats/test_1_1_public_chats.py:339: in test_1_1_chat_push_emoji
        self.home_1.get_chat(self.username_2).click()
    ../views/home_view.py:61: in click
        self.click_until_presence_of_element(desired_element=desired_element)
    ../views/base_element.py:106: in click_until_presence_of_element
        self.find_element().click()
    ../views/home_view.py:71: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: ChatElement by xpath:`//*[@content-desc='author-primary-name'][starts-with(@text,'shptPznxUAH46Sdcns1A')]/..` is not found on the screen after wait_for_visibility_of_element; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391

    Device 2: Could not reach ChatsTab by pressing system back button
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:411: in test_1_1_chat_send_image_save_and_share
        self.home_2.chats_tab.click()
    ../views/base_element.py:89: in click
        element = self.find_element()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` 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; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958

    Test setup failed: activity_center/test_activity_center.py:395: 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
    



    2. test_activity_center_mentions, id: 702957

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

    Test setup failed: activity_center/test_activity_center.py:395: 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

    Expected to fail tests (1)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Device 1: Find BaseElement by xpath: //*[@content-desc='community-title']/preceding-sibling::*/android.widget.ImageView
    Device 1: Image differs from template to 0.0 percents

    critical/chats/test_public_chat_browsing.py:298: in test_community_discovery
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Status community Join button is different from expected template. 
    

    [[Might fail if the Discover curation dapp is too slow to load > 2 mins]]

    Device sessions

    Passed tests (30)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links_profile, id: 702775
    Device sessions

    3. test_deep_links_communities, id: 739307
    Device sessions

    Class TestFallbackMultipleDevice:

    1. test_fallback_add_key_pair, id: 741054
    2. test_fallback_sync_with_error, id: 740220
    3. test_fallback_with_correct_seed_phrase, id: 740221

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

    1. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    2. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    3. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    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

    4. test_group_chat_pin_messages, id: 702732
    Device sessions

    5. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    6. test_group_chat_mute_chat, id: 703495
    Device sessions

    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

    3. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    @siddarthkay
    There are several issues blocking E2E tests. I'll report them one by one.


    PR_ISSUE 1 (e2e blocker): Element "edit profile picture" missing in XML structure

    This issue was detected during E2E testing and is blocking all tests related to updating the profile image.

    Steps to Reproduce:

    1. Create an account.
    2. Navigate to Profile > Edit.
    3. Attempt to locate the "photo camera" button.

    Expected Result:
    The element should be locatable using the following XPath:

    //*[@content-desc='user-avatar']/following-sibling::android.view.ViewGroup[@content-desc='icon']  
    

    Actual Result:
    The element cannot be located at all, preventing interaction via E2E tests (you can see from the screen that there is no sibling element that can be located to tap on required button)
    Appium 2025-01-20 14-17-31

    Suggested Solution:
    Add an ID or any attribute to make the element locatable.

    Environment:
    • OS: iOS, Android
    • Logs: LambdaTest Logs (12m 9s) - dm me for access if it is required

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    PR_ISSUE 2: Black stripe sticked to header when Testmode is enabled (Android)

    Steps:

    1. restore or create multiaccount
    2. switch to test mode

    Expected result (nightly):
    MyApplication – build gradle (:app) 2025-01-20 14-28-44

    Actual result (PR):
    PR

    OS: Android, Graphene OS

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    PR_ISSUE 3 (e2e blocker): Element "Invite user" is missing in XML structure

    This issue was detected during E2E testing and is blocking all tests related to inviting users to communities.

    Steps:

    1. Create an account.
    2. Open community
    3. Tap on Invite > enable one user

    Expected result:
    button is available by accessibility-id next-button

    Actual result:
    The element cannot be located at all, preventing interaction via E2E tests, attached video, button is just missing in XML sctructure

    screencast.2025-01-20.17-18-41.mp4

    OS: Android
    Devices:
    Logs: https://appautomation.lambdatest.com/test?testID=APPTESz9w6Nt1QvLtZWlTr (6m 15s, ask for credentials if needed)

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    PR_ISSUE 4: Buttons are misaligned and have inconsistent sizes in the bottom sheet

    The issue applies to any bottom sheet component; the provided case is just one example.

    Steps to Reproduce:

    1. Restore or create a multi-account.
    2. Open the contact list.
    3. Attempt to block a user.
    4. Observe the confirmation dialog.

    Expected Result:

    Buttons are aligned consistently and have equal sizes for a uniform UI experience.

    2025-01-20 18 09 04

    Actual Result:

    Buttons are misaligned and have different sizes, leading to a disjointed appearance.

    Actual result

    2025-01-20 17 47 44

    Environment:

    • OS: iOS, Android

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    PR_ISSUE 5: Elements are overlapped on Android

    Steps:

    1. restore or create multiaccount, close app
    2. restore or create multiaccount 2, reopen app

    Expected result:
    photo_2025-01-20 17 51 36

    Actual result:
    photo_2025-01-20 17 51 39

    OS: Android, Graphene OS

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    PR_ISSUE 6: Confirmation dialog options are invisible

    Steps:

    1. restore or create multiaccount
    2. try to log out

    Expected result:
    photo_2025-01-20 17 55 03

    Actual result:
    photo_2025-01-20 17 55 06

    OS: Android, Graphene OS

    @churik
    Copy link
    Member

    churik commented Jan 20, 2025

    I updated description with found issues, for now we need a decision what we should fix in the scope of PR (from my perspective we should fix all of the issues, regression is quite extensive)

    cc @ilmotta

    @ilmotta
    Copy link
    Contributor

    ilmotta commented Jan 20, 2025

    I updated description with found issues, for now we need a decision what we should fix in the scope of PR (from my perspective we should fix all of the issues, regression is quite extensive)

    cc @ilmotta

    I agree with @churik (and btw great work finding all those problems), regressions are significant. The PR_ISSUE 2: Black stripe sticked to header when Testmode is enabled (Android) I would put as a non-blocker to merge, although would be good to fix.

    @ulisesmac
    Copy link
    Contributor

    ulisesmac commented Jan 21, 2025

    @siddarthkay @ilmotta

    For the missing elements in the XML structure, the reason might be React Native now is collapsing more views than before as an optimization technique.

    We could try fixing it by adding the prop :collapsable false to the view having the issue

    @siddarthkay
    Copy link
    Contributor Author

    I'm going to try to solve the missing elements by specifying a test-id first. That would seem better in theory compared to messing with react-native's view flattening optimisation.
    https://reactnative.dev/architecture/view-flattening

    nix/mobile/android/build.nix Outdated Show resolved Hide resolved
    nix/mobile/android/build.nix Outdated Show resolved Hide resolved
    # Generate initial autolinking.json using react-native config
    echo "Generating autolinking.json..."
    ${pkgs.nodejs}/bin/node \
    ${deps.nodejs-patched}/node_modules/react-native/cli.js config > ${autolinkingPath}/autolinking.json
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Is this something that has to run with application code checked out, or could this be done as part of deps.nodejs-patched?

    Copy link
    Member

    Choose a reason for hiding this comment

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

    If this doesn't make sense and would just complicate things more than they are right now I guess it's fine as it is.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    I tested and found out that react-native config does indeed need application code and won't generate a config with just node_modules
    Its simpler now to just keep this as part of android derivation, else we'd have to check out application code in nodejs-patched derivation.

    @siddarthkay siddarthkay force-pushed the upgrade-react-native-to-0-75-x branch from 32497fd to 662e18f Compare January 27, 2025 09:20
    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 662e18f to f677ebb Compare January 27, 2025 09:20
    @ulisesmac
    Copy link
    Contributor

    ulisesmac commented Jan 28, 2025

    PR_ISSUE 5: Elements are overlapped on Android

    @siddarthkay @ilmotta @churik

    The issues related to black areas in the screen or this one (number 5) are due to issues with hole-view.
    In some cases, I think we could redesign them, for example, these cards:

    image

    need the hole-view because they are transparent, do we really need that transparency? opaque cards would fix the issue.

    However, I understand a fix isn't possible everywhere (or is it?). Here's a link to the issue in the hole-view repo, they say they aren't going to fix it yet:

    I believe this wil be a blocker for us, some alternatives are:

    1. Diverge the design for Android everywhere we used a hole-view (ugly), we've done this before but in small areas.
    2. Redesign to stop using hole-views, as far as I remember, we've had issues with it in the past, something related to animations inside the holes not working.
    3. Wait until they update the lib, the issue I linked was created on Nov 2024, with the recent RN 0.77 release, 0.74 (our version) is no longer supported, meaning projects will start to migrate to 0.75 at least, the lib seems to have a wide adoption, so there's hope they update it.

    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