react-native-community / releases

React Native releases
https://github.com/facebook/react-native/
1.5k stars 404 forks source link

0.60.x Discussion #116

Closed grabbou closed 5 years ago

grabbou commented 5 years ago

0.60.0-rc.0 is most likely going to be released tomorrow. The branch is already cut. We are working on the changelog.

Stay tuned.

sunnylqm commented 5 years ago

Fix indexed RAM bundle for android https://github.com/facebook/react-native/commit/d8fa1206c3fecd494b0f6abb63c66488e6ced5e0

immortalx commented 5 years ago

@matt-oakes thank you, it's worked on IOS really well with most of the packages i tested. Autolinking is just for IOS while in beta or android should be working as well?

mikehardy commented 5 years ago

@immortalx assuming it is working (it is in beta), autolinking works for both platforms

matt-oakes commented 5 years ago

@immortalx Sorry, I should have linked the Android changes too:

immortalx commented 5 years ago

@matt-oakes @mikehardy thank you. The linking part seems to be working but all packages fail with a similar error, for example:

Execution failed for task ':react-native-screens:compileDebugJavaWithJavac'.

Doesn't seem to be related to linking itself, maybe they are not updated to work with 0.60 yet.

yurykorzun commented 5 years ago

I am a bit concerned the way podspecs were split up. We self host all of RN podspecs in our own repo, and now most of them have relative paths to their folder. We will need to replace the source_files prop to reference the full path in our publishing script. Obviously, most projects install RN into XCode from a local node_modules folder, so it's not going to be problem for most people. It's just in our project we install everything RN related using cocoapods into an existing project.

mikehardy commented 5 years ago

@immortalx yeah, owing to the problems I had immediately (https://github.com/react-native-community/releases/issues/116#issuecomment-497409523) I said to myself "yeah, it isn't ready yet" and even though I maintain one of the most used libraries I couldn't get it to work out of the box. So your guess is likely right

mikehardy commented 5 years ago

For people wanting to test RN 0.60 that are having issues with android dependencies, and especially for library maintainers, @rozPierog made a gradle script that will generate 2 android "AAR" files (Android ARchive) that can serve as library dependencies in your apps. One de-jetified and one AndroidX. So you can convert a library dependency to AndroidX and it will still be compatible with RN0.59 (non-AndroidX) apps. If you want to help test or collaborate you would be more than welcome, convert your library to AndroidX for RN0.60 then try this for RN0.59+RN0.60: https://github.com/react-native-community/discussions-and-proposals/issues/129#issuecomment-498740388 :-)

kelset commented 5 years ago

Another commit to cherry pick: https://github.com/facebook/react-native/commit/46c7ada535f8d87f325ccbd96c24993dd522165d

aldistel commented 5 years ago

And another one ;) https://github.com/facebook/react-native/pull/25150/commits/e787dd0ad614910497af05ade4f54831280ffbd6

thymikee commented 5 years ago

Bumping CLI: https://github.com/facebook/react-native/commit/ea090a10e63bb75ab9446ed2bd84647bf3d28bd7

benoitdion commented 5 years ago

what version of jsc-android is RN 0.60 planning to use? 241213.2.0 (currently next) fixes a family of native crashes but introduces significant performance regression. The version included with 0.59 is much faster but unfortunately crashes more frequently.

Relevant issues:

kelset commented 5 years ago

Hey everyone, I'm trying to cherry picks the commits & do a RC1 release. I've been hitting some pretty nasty cache-related (it seems) issues, so I'm not sure I'll be able to do the release today.

A few of the commits requested where already on branch because of the recut that happened a while ago, and I couldn't cherry pick one of the requested because it actually disappeared from master's commit history...?

Anyway, you can check the status here: https://github.com/facebook/react-native/commits/0.60-stable

I'll write an update once it's out.

thymikee commented 5 years ago

Take your time @kelset, it's Friday anyway :D

kelset commented 5 years ago

Allright, after way too many fights with the CI - but also one real issue which thanks to @thymikee we fixed right away - RC1 is finally out!

Please test it and let us know: https://github.com/facebook/react-native/releases/tag/v0.60.0-rc.1


EDIT: we are seeing some issues related to the packager "auto-starting" when you do react-native run-XXX. We are already working on it, in the meantime you can always run the packager manually via react-native start --reset-cache

slestang commented 5 years ago

I am trying to test .60.0-rc.1 on a existing project where every dependencies (more than 20) are handled with CocoaPods and pod install fail:

[!] CocoaPods could not find compatible versions for pod "React/Core":
  In Podfile:
    RNSound (from `../node_modules/react-native-sound`) was resolved to 0.10.12, which depends on
      React/Core

Apparently in https://github.com/facebook/react-native/commit/2321b3fd7f666ce30f5dad4cd2673ddf22972056 the core pod has been renamed from React/Core to React-Core :-(

At least 2 projects seems to be impacted: react-native-sound and rn-fetch-blob. I didn't find a way to trick pod with an alias or something else to work-around the issue.

What is the best way to fix this? Making PR to these project with the renaming?

erennyuksell commented 5 years ago

After update react native version to v0.60.0-rc1. I'm facing build errors. Anyone else have this errors? https://github.com/wix/react-native-navigation/issues/5171 https://github.com/wix/react-native-camera-kit/issues/262 https://github.com/react-native-community/react-native-image-picker/issues/1095

kelset commented 5 years ago

@Frekansapp it really seems that the errors you are seeing are related to you updating only your version number in the package.json? Since we are still in RC phase, please don't update production apps until we reach 0.60.0 and/or there is a diff here https://github.com/react-native-community/rn-diff-purge to help you understand all the changes that you need to do.

@slestang oh wow I wasn't aware of that 😓 yeah I think that the best solution would be to do a PR to the library affected.

sunnylqm commented 5 years ago

@kelset And react needs a re-sync or revert. See https://github.com/facebook/react-native/issues/24512 and https://github.com/facebook/react-native/commit/b7d84747b895d8645a12d68c27c6d8a45eee8b6e

erennyuksell commented 5 years ago

@kelset thank you. I made the necessary changes according to rn-diff-purge but now i'm getting another error you can see here https://paste.ubuntu.com/p/SwSgWKtBNV/ how can i solve this?

matt-oakes commented 5 years ago

@Frekansapp You have an Android dependency which has not been upgraded to AndroidX. To use 0.60 all libraries need to be migrated to AndroidX. This is obviously a blocker at the minute, but there's a discussion over here where we are trying to find a good solution:

https://github.com/react-native-community/discussions-and-proposals/issues/129

It seems like for you, it's react-native-maps that needs to be migrated to AndroidX.

jobpaardekooper commented 5 years ago

I think the change "Enable views to be nested within Text component" is not working properly. The following code does not work. Keep in mind that this specific code is clearly redundant but illustrates the issue clearly.

<Text>
    <View>
        <Text>Hello world!</Text>
    </View>
</Text>

The code above does not display anything on the screen. Tested with 0.60.0 RC1.

tamirrab commented 5 years ago

https://github.com/react-native-community/releases/issues/116#issuecomment-500732698

Tested too Not showing the text

sparker-mob commented 5 years ago

Hi, The bug for App Crash on certain Android devices like Samsung S7, still exists for this RN version. Reference : https://github.com/facebook/react-native/issues/24261

This crash also happens if we generate a fresh new React Native project using React Native CLI and run it on Android device like Samsung S7. The crash happens if you launch the App, and keep on tapping on the screen for few seconds. The crash logs are the same as attached on the above bug link.

Do we have an estimate as to when this issue would be resolved and in which RN version? As highlighted in the link, this is a High Priority issue to be solved before Android makes 64-bit a mandate starting August 2019 (https://developer.android.com/distribute/best-practices/develop/64-bit)

tido64 commented 5 years ago

And another one ;) facebook/react-native@e787dd0

@kelset Looks like this got moved: https://github.com/facebook/react-native/commit/2dd7dd8e45f9d4a1086f84d5b70ea66406d98439. Can we get it into 0.60 please? 😄

cc @aldistel

armata007 commented 5 years ago

Hi, after creating new project with "react-native init RN060 --version react-native@next" (which installs rc1) and running "react-native run-android" I get `error ● Validation Error:

Option "server.port" must be of type: number but instead received: string

Example: { "port": 8080 }`

I don't have this issue on rc0. I think it should work out of the box for new projects.

After adding server: { port: 8081 } to metro config this error disappears but I get "Failed to construct transformer: Error: Option 'mapper' isn't supported by the Node crawler" which I do not know how to fix

thymikee commented 5 years ago

@armata007 it's a known issue, we working on it. In the meantime you can use Yarn resolutions and pin @react-native-community/cli to version 2.0.0-rc.2

Kennytian commented 5 years ago

@armata007 @thymikee open node_modules/jest-haste-map/build/crawlers/node.js, go to line 226, and then remove following code

if (options.mapper) {
  throw new Error(`Option 'mapper' isn't supported by the Node crawler`);
}

references: https://github.com/facebook/jest/pull/8558/files#diff-a8d4602cd89511c26bc2fb165f65379aL143

thymikee commented 5 years ago

@Kennytian for this all you need to do now is purging jest-haste-map entry in a lockfile, so it resolves to 24.8.1 after re-install

annakocheshkova commented 5 years ago

@IljaDaderko @immortalx It's an opt-in feature on both platforms. For iOS you need to add these two lines to your ios/Podfile: facebook/react-native@261197d#diff-a3c6c8e64fbbd1efef345c45e3811571

Note that these are currently not in the template Podfile due to an issue with the E2E CI tests.

Hi, I'm trying to test this with my plugin, I can't seem to get at what stage and how this should work? I have my plugin with the at the root folder, how it's supposed to be picked up by react-native and when? I see that it is picked up if I run pod install manually, but my dependency is never added to the Podfile and even after that, the project doesn't build... @matt-oakes @thymikee

kelset commented 5 years ago

Hey everyone, thanks for the feedback. Again, if you are seeing a precise issue (aside from the packager one) please open an issue in the main repo.

We will likely do a RC2 early next week and unless something massive pops up we will release 0.60.0 soon after

how it's supposed to be picked up by react-native and when?

AFAIK, it should be "picked up" when you do yarn add NAME_OF_LIBRARY.

netdown commented 5 years ago

I was trying to create a new app with a basic setup consisting of react-redux and react-navigation, literally nothing just initializing these with one page. Got a "callback is not a function" error (I saw the screen loading for half second though) and the stacktrace consisted of basic modules' source files only. It may be similar to #15647 as installing scheduler 0.14.0 also solved this. I attached the stacktrace. Screenshot_2019-06-14-16-11-33-971_com rn060 Screenshot_2019-06-14-16-11-37-288_com rn060

annakocheshkova commented 5 years ago

@kelset it doesn't. I could open an issue but it just seems like I'm missing something important.

thymikee commented 5 years ago

@annakocheshkova

I see that it is picked up if I run pod install manually, but my dependency is never added to the Podfile and even after that, the project doesn't build...

That's how autolinking works -> it doesn't touch Podfile (but Podfile.lock will be created if you use it) nor Gradle, but automatically generate stuff based on dependencies and devDependencies in package.json. If you use local plugins, I think it's not currently supported to autolink and you'd need to link them traditionally. Is this your use case?

annakocheshkova commented 5 years ago

@thymikee to test, I change my plugin locally, yes. I then run yarn add ../path-to-plugin. Previously our postlink script added an entry to user's Podfile which was then installed. Now I moved podspec to the root - is this enough in order for autolink to work with a "real" (non-local) plugin?

Another question I have is - we still have a postlink script which does some additional setup for our plugin. I moved rnpm configuration to reat-native.config.js and whatever's in the postlink script gets executed if I manually call react-native link. But should this also be executed automatically?

thymikee commented 5 years ago

Now I moved podspec to the root - is this enough in order for autolink to work with a "real" (non-local) plugin

That should be enough.

Regarding pre/postlink hooks, this is not yet supported with autolinking unfortunately. That's because the linking logic moved to CocoaPods and Gradle scripts, but I think we should be able to support that. Created a related feature request in CLI: https://github.com/react-native-community/cli/issues/429

theolavaux commented 5 years ago

I found a bug where TextInput color prop cannot be used along secureTextInput. Could this be solved in the release? https://github.com/facebook/react-native/issues/22210

adeteejay commented 5 years ago

Hi guys, I'm not sure if this is where to ask, but does this mean from .60+ cocoapods will be required in all projects? Can those who use/prefer Carthage stick to it?

thymikee commented 5 years ago

It's not required, it will be the default though.

MoKhajavi75 commented 5 years ago

Hey

Can we have this please?

https://github.com/facebook/react-native/commit/d9a8ac5071d23275c5d4a8e9936f391b967416d7

kelset commented 5 years ago

Hey everyone, we are looking into having a new RC2 with a couple more commits in the next few days.

@theolavaux the issue you linked should be fixed via a PR whose commit is already in RC1, can you test it and see if it still appears on a project using 0.60-rc1? If it's still there, please write a comment in the issue.

@sparker-mob it seems that Kudo released a new version of JSC which solves the crashes, please refer to that.

@jobpaardekooper @tamirrab ~was it working for you in 0.60-rc0? Also, can you please post an issue in the main repo?~ (replied in issue https://github.com/facebook/react-native/issues/25197)

jobpaardekooper commented 5 years ago

@kelset it isn't working on 0.60-rc0 and 0.60-rc1.

I opened an issue in the main repo a little bit ago: https://github.com/facebook/react-native/issues/25197.

benoitdion commented 5 years ago

@kelset can you confirm whether 0.60 will point to Kudo's JSC release? As mentioned in https://github.com/react-native-community/releases/issues/116#issuecomment-499859207, it helps with the crash but impacts performance significantly.

german970814 commented 5 years ago

Is there any updates about this issue #23021 and #24055

Kudo commented 5 years ago

@benoitdion JSC in 0.60 would be the same as 0.59. (Only a minor difference that removed libc++_shared.so) As JSC in the meantime does not have balance between performance and crash free and we are not going to push new version. However, for RN 0.60, you could simply use yarn add jsc-android@next to use different JSC than the builtin one in RN. (Yeah, just a single command)

jemmyphan commented 5 years ago

@Kudo does removing libc++_shared.so solve the crash issue? about a few days ago I saw your tweet about experimenting on v8. does it work well?

kelset commented 5 years ago

@jemmyphan please keep this issue on topic ;)

@german970814 sorry, I don't have any - if there are updates on them, they will get communicated in the issues themselves. Maybe what you could do is to test them both with the latest RC and report if the issues are still present.

I'll try to set the RC2 later today, aiming for 0.60.0 next week if nothing major pops up.

dulmandakh commented 5 years ago

I'm using 0.60.0-rc.1 and useEffect hook is causing error, and here is a solution https://github.com/facebook/react/issues/15647#issuecomment-492419380. IMHO, we should fix this before stable release

kelset commented 5 years ago

It seems that Dan did that on master: https://github.com/facebook/react/issues/15647#issuecomment-492319651

Can you help me find the commit in which it happens so that I can cherry pick it?

kelset commented 5 years ago

It was actually this one ;) https://github.com/facebook/react-native/commit/6001acb319958242f8d8e2dd40cb91a55b5eab2e

I'm not sure I need to cherry-pick the other one