Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat: upgrade to RN 0.73.6 #1439

Open
wants to merge 29 commits into
base: main
Choose a base branch
from

Conversation

MosCD3
Copy link
Contributor

@MosCD3 MosCD3 commented Feb 12, 2025

Summary of Changes

iOS part done so far
All changes re-reviewed and re-done by @MaSMas0

New version supports experimental and chrome debugger (RN Debugger)
Added menu to start chrome debugger

Simulator Screenshot - iPhone 16 - 2025-02-18 at 18 00 27

Screenshot 2025-02-18 at 5 54 54 PM

Replace this text with a high-level summary of the changes included in this PR.

Screenshots, videos, or gifs

Replace this text with embedded media for UI changes if they are included in this PR. If there are none, simply enter N/A

Breaking change guide

Replace this text with any breaking changes included in this PR along with how to address them in downstream projects. If there are none, simply enter N/A

Related Issues

Replace this text with issue #'s that are relevant to this PR. If there are none, simply enter N/A

Pull Request Checklist

Tick all boxes below to demonstrate that you have completed the respective task. If the item does not apply to your this PR check it anyway to make it apparent that there's nothing to do.

  • All commits contain a DCO Signed-off-by line (we use the DCO GitHub app to enforce this)
  • If applicable, screenshots, gifs, or video are included for UI changes
  • If applicable, breaking changes are described above along with how to address them
  • Updated documentation as needed for changed code and new or modified features
  • Added sufficient tests so that overall code coverage is not reduced

If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!

Pro Tip 🤓

  • Read our contribution guide at least once; it will save you a few review cycles!
  • Your PR will likely not be reviewed until all the above boxes are checked and all automated checks have passed

@jleach jleach changed the title Upgrade to RN 0.73.5 feat: upgrade to RN 0.73.5 Feb 12, 2025
@MosCD3 MosCD3 marked this pull request as ready for review February 13, 2025 03:55
@MosCD3 MosCD3 requested a review from a team as a code owner February 13, 2025 03:55
@MosCD3 MosCD3 marked this pull request as draft February 13, 2025 04:11
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from bac8e18 to bb4e828 Compare February 17, 2025 20:45
@MosCD3 MosCD3 marked this pull request as ready for review February 17, 2025 20:47
MosCD3 and others added 12 commits February 17, 2025 22:05
Signed-off-by: Mostafa Gamal <moscd3@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
…penwallet-foundation#1433)

Signed-off-by: fc-santos <filipesantos@live.ca>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
…ndation#1427)

Signed-off-by: fc-santos <filipesantos@live.ca>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
…tion#1438)

Signed-off-by: ClaudeArs <claudears2474@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mostafa Gamal <moscd3@gmail.com>
Signed-off-by: Mostafa Gamal <46829557+MosCD3@users.noreply.github.com>
Co-authored-by: Bryce McMath <32586431+bryce-mcmath@users.noreply.github.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Bryce McMath <bryce.j.mcmath@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from 8b9707e to 67219c4 Compare February 17, 2025 21:06
MaSMas0 and others added 3 commits February 17, 2025 22:19
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch 3 times, most recently from cb500bb to 634439e Compare February 17, 2025 22:54
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from 634439e to 2c420df Compare February 17, 2025 23:25
@codecov-commenter
Copy link

codecov-commenter commented Feb 17, 2025

Codecov Report

Attention: Patch coverage is 20.00000% with 52 lines in your changes missing coverage. Please review.

Project coverage is 55.60%. Comparing base (aff8281) to head (8110492).
Report is 27 commits behind head on main.

Files with missing lines Patch % Lines
packages/legacy/core/App/contexts/auth.tsx 4.16% 46 Missing ⚠️
packages/legacy/core/App/DebugCode.ts 60.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1439      +/-   ##
==========================================
+ Coverage   55.52%   55.60%   +0.07%     
==========================================
  Files         223      228       +5     
  Lines        7985     8176     +191     
  Branches     2241     2334      +93     
==========================================
+ Hits         4434     4546     +112     
- Misses       3528     3607      +79     
  Partials       23       23              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jleach jleach marked this pull request as draft February 18, 2025 17:16
Signed-off-by: Mostafa Gamal <moscd3@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from 07dcb79 to 9c5813b Compare February 18, 2025 22:01
@MosCD3 MosCD3 marked this pull request as ready for review February 18, 2025 22:34
@bryce-mcmath bryce-mcmath added the do not merge Don't merge when label present label Feb 20, 2025
@bryce-mcmath
Copy link
Contributor

@MosCD3 could we possibly chat about this PR at the Bifold call next week?

Copy link
Contributor

@bryce-mcmath bryce-mcmath left a comment

Choose a reason for hiding this comment

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

Few things, but awesome work

Comment on lines 78 to 83
bundle install && \
cd ios && \
rm -rf Pods && \
rm -f Podfile.lock && \
pod install && \
cd .. && \
Copy link
Contributor

Choose a reason for hiding this comment

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

Erasing the lockfile on the main GHA defeats the purpose of a lockfile. This change would stop our build from being deterministic . Can we make use of the same command (ios:setup) we would use locally? It's alright if we have to update that command a bit as part of this PR but we should still use it.

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

Choose a reason for hiding this comment

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

@bryce-mcmath resolved using the ios:setup command and removed the line of removing the lockfile

Comment on lines +2 to +19
if (!__DEV__) {
import('@hyperledger/aries-askar-react-native')
.then(() => {
// console.log('Askar native module loaded successfully')
})
.catch(() => {
// console.error('Failed to load Askar native module:', error)
})
} else {
// console.log('Askar native module not loaded in debug mode')
}

//NOTE: This line is throwing an error in debugging due to native modules is it still needed? maybe the above is a workaround
// to be able to use RNDebugger in debug mode
// eslint-disable-next-line import/no-extraneous-dependencies
import 'reflect-metadata'

import { AskarWallet } from '@credo-ts/askar'
import { AskarWallet } from '@credo-ts/askar' // is this enough instead of line number 2
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we should conditionally import. Is the NOTE for the conditional import above or the reflect-metadata line below?

I don't think reflect-metadata is still needed but we can just test out the app after removing it to find out if that's true. We should remove it from the entire project if possible

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@hyperledger/aries-askar-react-native
is that needed Bryce, we already importing AzkarWallet from credo
This import is causing issues with real native chrome debugger, if its not needed anymore its better to remove the whole statement

Copy link
Contributor

Choose a reason for hiding this comment

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

Probably fine, we should just check that without that import we are still able to accept credentials and view / delete them after an app restart

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 the flow works fine without this import

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm good to get rid of it then, thanks for checking 👍

@@ -203,7 +203,7 @@ exports[`VerifierCredentialCard Component Renders correctly 1`] = `
removeClippedSubviews={false}
renderItem={[Function]}
scrollEnabled={false}
scrollEventThrottle={50}
scrollEventThrottle={0.0001}
Copy link
Contributor

Choose a reason for hiding this comment

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

What caused this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this was part of the snapshot update

Copy link

@MaSMas0 MaSMas0 Mar 9, 2025

Choose a reason for hiding this comment

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

hello bryce,
sorry for the late reply ,
so for the change in snapshot it is related to how react native is implementing virualized list
so here is the version that you had for v0.72.17:
https://github.com/facebook/react-native/blob/v0.72.17/packages/virtualized-lists/Lists/VirtualizedList.js
to cut the story short check
https://github.com/facebook/react-native/blob/6304cce015e4260b914aafd98d37ccdf5c3f2150/packages/virtualized-lists/Lists/VirtualizedList.js#L118C1-L121C2

which states that the default for scrollEventThrottle is 50

and here is the implementation of VirtualizedList in v0.73.6:
https://github.com/facebook/react-native/blob/v0.73.6/packages/virtualized-lists/Lists/VirtualizedList.js
which is stating the default value to be 0.0001 check:
https://github.com/facebook/react-native/blob/0384caad3458f7658e68653a0ab62fd6cc3e4483/packages/virtualized-lists/Lists/VirtualizedList.js#L1078

and hence the change was done in the snapshot

Co-authored-by: Bryce McMath <32586431+bryce-mcmath@users.noreply.github.com>
Signed-off-by: Mostafa Gamal <46829557+MosCD3@users.noreply.github.com>
@timbl-ont
Copy link
Contributor

Authentication with a PIN is broken - react-native-keychain needs to be updated to at least 8.1.2 for RN 7.3 support. There is an Android bug fixed in 8.1.3 that allowed Biometric authentication to be bypassed if someone had recently authenticated.

There are also some security enhancements in later releases that should be considered for a future PR.

https://github.com/oblador/react-native-keychain/releases

@jleach
Copy link
Contributor

jleach commented Feb 25, 2025

Decided on the call today to update this to 0.73.6.

@al-rosenthal
Copy link
Contributor

Looks like the iOS build is failing. Any status on the android side of the update @MosCD3?

@jleach jleach removed the do not merge Don't merge when label present label Mar 6, 2025
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from c59d34f to 5b81d7a Compare March 7, 2025 04:50
@al-rosenthal al-rosenthal changed the title feat: upgrade to RN 0.73.5 feat: upgrade to RN 0.73.6 Mar 7, 2025
MaSMas0 added 3 commits March 9, 2025 05:11
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from 1b85431 to 8110492 Compare March 11, 2025 01:13
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch 5 times, most recently from ab320ea to 88354fe Compare March 11, 2025 14:27
Signed-off-by: Mohamed Abd El-Samie Ahmad Mansour <masmas04@gmail.com>
@MaSMas0 MaSMas0 force-pushed the refactor/moscd3/upgrade-rn-73-5 branch from 88354fe to 7551098 Compare March 11, 2025 14:56
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants