Skip to content
This repository has been archived by the owner on May 16, 2024. It is now read-only.

Expo modules #131

Merged
merged 11 commits into from
Jul 12, 2023
Merged

Expo modules #131

merged 11 commits into from
Jul 12, 2023

Conversation

graszka22
Copy link
Collaborator

@graszka22 graszka22 commented Jul 10, 2023

With this our sdk supports fabric architecture. How to test:

  • For Android: in the gradle.properties file there is a variable newArchEnabled - set it to true to enable fabric architecture for example app (and therefore our sdk) HOWEVER there is a problem on some newer phones that on the second screen you can't click anything and it's probably a bug in react-navigation lib, it's being fixed by the open-source team

  • For iOS: in the example/ios/Podfile.properties.json there is a variable newArchEnabled, set it to true to enable fabric architecture for example app (and therefore our sdk) HOWEVER there is a bug in expo-font library and similar and all fonts and icons are broaken on fabric, expo team is working on this

Also remember when switching between architectures to always clean cache etc. you may also need to delete Pods or build folders or even just clone the repo again :p

When reviewing focus on the new modules (whether the code style is ok) and whether I've missed something (this repo is recreated from scratch 😅).
Also react-native and other libraries are updated <3

Thoughts:

  • do we want a ci flow to check if example for fabric and paper compiles?

@graszka22
Copy link
Collaborator Author

graszka22 commented Jul 11, 2023

@skyman503 If you have a while you can take a look at this PR, it shouldn't change much. Things that are not working yet:

  • app on fabric crashes on ios (must be related to rn 71 -> 72 update or related updates) - probably expo and / or react-native-screens issue
  • tests are broken, because we have missing dev libraries (react, react-native and react-dom) in package.json, however when I install them the app crashes because we have double react package 😅 fixed

Focus on the code in modules, those thousands lines of changes are mostly yarn.locks, generated boilerplate etc.

override fun definition() = ModuleDefinition {
Name("MembraneWebRTC")

Events(
Copy link
Contributor

Choose a reason for hiding this comment

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

What about moving that bug fix from ex-29 here, since after this changes are applied I'd have to redo my PR. So wdyt about mimicing my changes here, since it is pretty short and straight forward ?

example/ios/.xcode.env.local Outdated Show resolved Hide resolved
BuildableName = "MembraneExample.app"
BlueprintName = "MembraneExample"
ReferencedContainer = "container:MembraneExample.xcodeproj">
BuildableName = "reactnativemembranewebrtcexample.app"
Copy link
Contributor

Choose a reason for hiding this comment

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

That might be the reason why there are 2 xcodeproj

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The reason is that in MembraneExample.xcodeproj and reactnativemembranewebrtcexample.xcodeproj there are files that are gitignored, when switching between branches those gitignored fils are left by git

so my suggestion would be to just remove those folders when switching branches or rename reactnativemembranewebrtcexample back to MembraneExample but I don't know if it's a good idea to touch it 😅

example/src/model/VideoroomContext.tsx Outdated Show resolved Hide resolved
@@ -65,6 +65,8 @@ export const Preview = ({ navigation, route }: Props) => {
await connectAndJoinRoom();
navigation.navigate('Room');
} catch (err) {
console.log('ERR2', err);
Copy link
Contributor

Choose a reason for hiding this comment

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

same here

@@ -0,0 +1,4 @@
export function isJest() {
// @ts-ignore
Copy link
Contributor

Choose a reason for hiding this comment

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

still needed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yes

@skyman503
Copy link
Contributor

As for the question in description in my opinion, as long as we plan on supporting both platforms ci should also take care of both of them.

@graszka22
Copy link
Collaborator Author

As for the question in description in my opinion, as long as we plan on supporting both platforms ci should also take care of both of them.

ok, I will create a task to add ci for them

@graszka22 graszka22 requested a review from skyman503 July 12, 2023 13:05
@graszka22 graszka22 marked this pull request as ready for review July 12, 2023 13:05
Copy link
Contributor

@skyman503 skyman503 left a comment

Choose a reason for hiding this comment

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

:yolo:

@graszka22 graszka22 merged commit 66e42a7 into master Jul 12, 2023
@graszka22 graszka22 deleted the graszka22/expo-modules branch July 12, 2023 13:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants