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

0.59.x Discussion #79

Open
grabbou opened this Issue Jan 17, 2019 · 111 comments

Comments

Projects
None yet
@grabbou
Copy link
Contributor

grabbou commented Jan 17, 2019

Note:

We haven't cut 0.59-stable branch yet. The latest release candidate is 0.58.0-rc.3. You can track it's progress here. This thread is to inform you when next release is going to happen.

Conversation on this thread are limited to 0.59 releases, major issues and backport (cherry-pick) requests from commits that are already on master.

An example of a good such request is a bug fix for a serious issue that has been merged into master but did not make the 0.59 RC cut.

In other words, if you cannot point to a particular commit on master, then your request likely belongs as a new issue in http://github.com/facebook/react-native/issues.

@kelset

This comment was marked as resolved.

Copy link
Collaborator

kelset commented Jan 21, 2019

This version will also likely:

  • have the new JSC
  • not have WebView

(TBC)

@grabbou

This comment was marked as resolved.

Copy link
Contributor Author

grabbou commented Jan 21, 2019

CLI commit is shipped: facebook/react-native@1af390b. Waiting for tests to be fixed and we are cutting it.

@yurykorzun

This comment was marked as off-topic.

Copy link

yurykorzun commented Jan 22, 2019

Will it include the latest Yoga update? https://github.com/facebook/react-native/tree/master/ReactCommon/yoga/yoga

I have a reason to believe the old one causes some issues in my hybrid app, would be nice get an update.

@kelset

This comment was marked as resolved.

Copy link
Collaborator

kelset commented Jan 23, 2019

@yurykorzun when the branch will be cut it will be a 'replica' of everything on master up to that point, so my guess is yes ;)

@rbalch

This comment was marked as off-topic.

Copy link

rbalch commented Jan 23, 2019

we're close to cutting the release on the apis

@grabbou

This comment was marked as resolved.

Copy link
Contributor Author

grabbou commented Jan 24, 2019

Yes, @kelset is right. I am finalising 0.58 right now and will work on making 0.59.0-rc.0 tomorrow. I will keep you updated.

@hramos hramos referenced this issue Jan 24, 2019

Closed

🎣 Using React Hooks in React Native #21967

3 of 3 tasks complete
@Eyesonly88

This comment was marked as off-topic.

Copy link

Eyesonly88 commented Jan 24, 2019

Any chances of landing Hooks in this release?

@kelset

This comment was marked as resolved.

Copy link
Collaborator

kelset commented Jan 25, 2019

@Eyesonly88 the basic answer is that it depends, we need to wait on a commit that syncs React in the codebase. If you look at the commit history on master you'll see some commits from the FB team called "React sync", so keep an eye out for those.

We don't have an estimate yet, so don't hold your breath - we'll do what we can 💪

@fbartho

This comment was marked as resolved.

Copy link

fbartho commented Jan 25, 2019

@kelset so you're saying we need to beg @yungsters to be our friend?
facebook/react-native@6448f4e

Pretty please! 🥂

@hramos

This comment was marked as resolved.

Copy link
Collaborator

hramos commented Jan 25, 2019

Several things need to happen before we can cut a release with support for React Hooks:

  1. We need a stable React release that supports Hooks.
    That release does not exist as of this writing (latest React is 16.7.0), but the React team recently hinted that a release that supports hooks might land within the next week or two. In fact, support for Hooks landed in React master this week.
  2. Once React supports Hooks on a stable release, the React Native team can run a sync to support the new release. That's what @yungsters and I have done in the past, as you can see in facebook/react-native@6448f4e. I covered this process in facebook/react-native#21967, but there's some additional work that happens on our side (mainly, testing all the internal surfaces that use React Native at Facebook to make sure nothing breaks). In an ideal world, this step can happen right away after Step 1, but unforeseen issues can delay this by one or two weeks.
  3. Then, and only then, can we cut a new React Native release that includes this commit.

If you folks want to hold off the 0.59 RC cut for one or two weeks until Hooks is released and synced to RN, or if you want to cherry-pick the sync commit into the 0.59 RC halfway through the soak period, I'll leave that open to discussion. I would highly discourage taking any shortcuts in the RC soak period just for the sake of getting Hooks into 0.59, but I'll let you all make that decision.

One alternative that comes to mind is the possibility of cutting a parallel 0.60 RC as soon as React w/ Hooks lands in master. This would be mostly to make it so that folks don't need to wait an extra month for 0.60 to be released (i.e. instead of waiting for 0.59 to go through its 30 day soak before cutting 0.60, we could have two RCs available concurrently). Again, I'd leave it to you all to decide if it's worth to fast-track 0.60 with Hooks at the risk of diluting people's attention between two RCs and letting major issues land on a stable release.

@yurykorzun

This comment was marked as resolved.

Copy link

yurykorzun commented Jan 25, 2019

I don't mind hooks to be added later and 0.59 RC being released as soon as possible

@hindsc52

This comment was marked as resolved.

Copy link

hindsc52 commented Jan 28, 2019

the possibility of cutting a parallel 0.60 RC as soon as React w/ Hooks lands in master

This would be fantastic. Would help with development of many projects that want to start using hooks too.

@grabbou

This comment was marked as resolved.

Copy link
Contributor Author

grabbou commented Jan 28, 2019

I like what @hramos said before.

Based on the amount of reactions to each of the comments, my suggestion is to do as follows:

  • Cut next release candidate (0.59.0-rc.0) as soon as possible (my intent is to try it today)
  • Continue working on the release candidate normally until React Hooks commit lands into master
  • If the commit is easy to cherry-pick (combination of complexity, time span between branch cut and the commit), proceed
  • If it's not easy to cherry-pick, cut the 0.59 release and start working on 0.60. That way, 0.59 is going to be rather small release with a trivial upgrade path for most of the users.

I don't want to make this process depend on the React team to avoid adding an unnecessary stress to their daily workflow. I think React Hooks are awesome and can't wait for it to land into React Native, but there's tons of other great stuff shipping at the moment too, that would be unwise to not share with you as soon as possible!

@ithustle

This comment was marked as off-topic.

Copy link

ithustle commented Jan 28, 2019

Any chances to add a native audio api?

@grabbou

This comment was marked as resolved.

Copy link
Contributor Author

grabbou commented Jan 28, 2019

Waiting for the few last tests to be fixed and we are making this release. Please check facebook/react-native#23108 if you want to track progress when it happens or help us getting it fixed!

@matthargett

This comment was marked as resolved.

Copy link

matthargett commented Jan 28, 2019

Even if 0.59 doesn't get Hooks upon initial release, it won't be "small" in terms of value -- the JSC upgrade, resulting cut polyfills, CLI, and other cleanup work is pretty huge.

Just to state my preference here, though: my preference is to get master CI stable before cutting 0.59-rc, and for 0.59 to include Hooks. I'd rather have a longer-supported 0.59 than an immediate 0.60 follow-up. I agree that it depends on what the React sync looks like in terms of complexity. If it would be possible for @hramos @yungsters to do it against the React master githash in a PR (rather than direct commit from phabricator), that might help get an idea earlier.

@kanalasumant

This comment was marked as resolved.

Copy link

kanalasumant commented Jan 29, 2019

The later the better, worth waiting for

@gtebbutt

This comment was marked as resolved.

Copy link

gtebbutt commented Jan 29, 2019

@kanalasumant Not for those of us waiting for other fixes that didn't make it into 0.58!

@matthargett

This comment was marked as resolved.

Copy link

matthargett commented Jan 29, 2019

@gtebbut you can request cherry picks of fixes on the 0.58 issue in this repo. 0.57 had 8 patch releases, which allowed users with production apps to keep on a stable base while getting critical fixes (and even some quality of life improvements like a React upgrade). If there’s specific commits you’re interested in getting merged to 0.58, comment there.

@hramos

This comment was marked as resolved.

Copy link
Collaborator

hramos commented Jan 29, 2019

@matthargett how would the PR help? Is this to gauge how complex the sync commit would be, in order to make the decision whether it's preferred to make the cut before the commit actually lands on master?

Happy to adjust as needed, we do have tooling to seamlessly export our internal diffs to a GitHub PR so this is doable, I can coordinate with Tim.

@matthargett

This comment was marked as resolved.

Copy link

matthargett commented Jan 29, 2019

Yes, to gauge how complex the sync commit would be. If it has a bunch of ripple effects, then we know for sure not to hold up 0.59. I’d only do this if the folks who really want to get 0.59 cut immediately without a passing CI can’t wait.

@objectiveSee

This comment was marked as resolved.

Copy link

objectiveSee commented Jan 31, 2019

We are waiting for a fix in master regarding a crash in RCTSRWebSocket, so our vote is to get 0.59 and use 0.60 for Hooks like @grabbou suggested.

facebook/react-native#22439 (comment)

@sijad

This comment was marked as resolved.

Copy link

sijad commented Feb 2, 2019

I also vote for a longer-supported 0.59 with hooks, waiting for more two weeks worth it.

@grabbou

This comment was marked as resolved.

Copy link
Contributor Author

grabbou commented Feb 4, 2019

Looks like React sync is around week away, so the general attitude towards the core team was to wait for the sync before releasing.

@objectiveSee, would cherry-picking it into 0.58 do it for you? Looks like the commit itself should be easy to apply to that branch.

@akshetpandey

This comment was marked as resolved.

Copy link

akshetpandey commented Feb 4, 2019

The linked issue seems like a blocker for 0.59 release with the new JSC.

facebook/react-native#23259

@eladcandroid

This comment was marked as resolved.

Copy link

eladcandroid commented Feb 6, 2019

React 16.8 is out!
https://reactjs.org/blog/2019/02/06/react-v16.8.0.html

@kelset

This comment was marked as outdated.

Copy link
Collaborator

kelset commented Feb 6, 2019

👋 everyone.
Yes, the new version of React is out now - the FB team is working on doing the React sync commit so that we can then finally cut 0.59 rc once said commit land (we reached a decision of having Hooks in 59).

As we mentioned times and times again, it will take some time.

thymikee added a commit to react-native-community/react-native-cli that referenced this issue Feb 18, 2019

fix: unlink not working (#177)
Summary:
---------

Fix `unlink` error from this comment: react-native-community/react-native-releases#79 (comment)

Test Plan:
----------

Try unlinking any dependency
@grabbou

This comment has been minimized.

Copy link
Contributor Author

grabbou commented Feb 18, 2019

0.59.0-rc.1 is on CircleCI, should be live soon.

Cherry-picked 3 commits, including CocoaPods fix. See them here

CLI work is happening in a different repository, reinstalling node_modules should do the trick.

@thymikee

This comment was marked as off-topic.

Copy link

thymikee commented Feb 18, 2019

@Sharlaan can you translate this error to English? I'm not sure what's wrong there.

Ok, good ol Google Translate gives me this: "'D\Mes' is not recognized as an internal or external command, an executable program or a batch file"

Looks like something has troubles with spaces on Windows.

@Sharlaan

This comment was marked as off-topic.

Copy link

Sharlaan commented Feb 18, 2019

Sorry i thought it would be self-explanatory.

Basically it says that it fails to execute what it think to be a cli command, because of the space in the path D://My projects/..

@thymikee

This comment was marked as off-topic.

Copy link

thymikee commented Feb 18, 2019

@Sharlaan Thanks! Which version of Node are you running?

@Sharlaan

This comment was marked as off-topic.

Copy link

Sharlaan commented Feb 18, 2019

last, v11.10

@thymikee

This comment was marked as off-topic.

Copy link

thymikee commented Feb 18, 2019

Did it work for you earlier? This code hasn't really changed since extraction

@Sharlaan

This comment was marked as off-topic.

Copy link

Sharlaan commented Feb 18, 2019

after i searched for the previous version of RN i were using i found out it were 0.58.4 but most importantly, the repo were manually settled...
... unlike here i tested using directly expo init then yarn upgrade'd RN React and expo.

@thymikee

This comment was marked as off-topic.

Copy link

thymikee commented Feb 18, 2019

I don't have a Windows machine, and paths with spaces work on UNIX. I'd appreciate your help on that. The relevant code is here: https://github.com/react-native-community/react-native-cli/blob/760d384ae199ccd6552805459c195ed5aa3969fc/packages/cli/src/cliEntry.js#L142-L146

It may be an Expo issue as you say, but it's possible that we can make it easier for them on our side.

@Sharlaan

This comment was marked as off-topic.

Copy link

Sharlaan commented Feb 18, 2019

ok i made another fresh test which worked flawlessly :
image

... but after upgrading, red screen (LAN mode) :
image

Installing RN@next (v0.59-rc.2) ...

then expo start crashes with the issue mentioned in my previous post.

error Command failed: D:\Mes Projets\expo-and-typescript\mobile3\expo-ts\node_modules\@react-native-community\cli\setup_env.bat
'D:\Mes ' is not recognized as internal command.

... so i think the issue definitely does not come from expo, since it worked with the RN@exotic version.

@Sharlaan

This comment was marked as off-topic.

Copy link

Sharlaan commented Feb 18, 2019

I made a few research about childProcess.execFile and found this in Node documentation :
https://nodejs.org/api/child_process.html#child_process_spawning_bat_and_cmd_files_on_windows
(especially last example)

Any space in the argument passed to childProcess.execFileSync tells it there is a command executable.
So maybe the solution would be to enclose the whole path string in quotes (using JSON.stringify) ?

@thymikee

This comment was marked as off-topic.

Copy link

thymikee commented Feb 18, 2019

@Sharlaan feel free to try it! :)

@grabbou

This comment has been minimized.

Copy link
Contributor Author

grabbou commented Feb 19, 2019

0.59.0-rc.2 is out on npm now.

@kelset

This comment was marked as resolved.

Copy link
Collaborator

kelset commented Feb 19, 2019

@thymikee @Sharlaan can you please move your conversation to an issue in the main repo? So that we can avoid polluting this issue

@ltcaosj

This comment was marked as off-topic.

Copy link

ltcaosj commented Feb 19, 2019

- Cannot run DEBUG on a real iOS device
- Cannot even run RN app on a real Android device
Reproduce: Just init a new RN app ---> got those issues
device1
device2

@kelset

This comment was marked as resolved.

Copy link
Collaborator

kelset commented Feb 19, 2019

@ltcaosj please open a dedicated issue on the main repo following the template.

@ltcaosj

This comment was marked as resolved.

Copy link

ltcaosj commented Feb 19, 2019

@kelset , I thought the issue is related to 0.59.x release, so I put it here. Let me put it in the main repo then.

@akshetpandey

This comment has been minimized.

Copy link

akshetpandey commented Feb 20, 2019

@grabbou : #79 (comment) isn't resolved and I feel like its still a blocker for 0.59 release. Its being discussed here: react-native-community/jsc-android-buildscripts#82

ericlewis added a commit to ericlewis/react-native that referenced this issue Feb 20, 2019

Add `folly_compiler_flags` to Core subspec (facebook#23488)
Summary:
This fixes the following iOS build error when using React via pods (using the new Xcode build system);

> project/Pods/Folly/folly/portability/Config.h:20:10: 'folly/folly-config.h' file not found

react-native-community/react-native-releases#79 (comment)
react-native-community/react-native-releases#79 (comment)
react-native-community/react-native-releases#79 (comment)

[iOS] [Fixed] - Fixed a "'folly/folly-config.h' file not found" build error when using React via CocoaPods
Pull Request resolved: facebook#23488

Differential Revision: D14121296

Pulled By: cpojer

fbshipit-source-id: 5eb2ba3066aef2bc9cfb95a9172cbef921c47170
@danilobuerger

This comment has been minimized.

Copy link

danilobuerger commented Feb 20, 2019

Please cherry pick:
Map TextInput textContentType strings to Objective-C constants facebook/react-native@a89fe41

@dulmandakh

This comment has been minimized.

Copy link
Contributor

dulmandakh commented Feb 21, 2019

Cherry picks:

@ziqiDev

This comment was marked as off-topic.

Copy link

ziqiDev commented Feb 21, 2019

when will update the version of gradle to 5.0?

@dulmandakh

This comment was marked as off-topic.

Copy link
Contributor

dulmandakh commented Feb 21, 2019

@ziqiDev it's landed in master, and will be a part of 0.60 release facebook/react-native@b4017a9

@ltcaosj

This comment was marked as off-topic.

Copy link

ltcaosj commented Feb 21, 2019

I just installed the latest release of 0.59.x : The Live Reload does not work - I need to reinstall the app every time making a code change.

@t3chnoboy

This comment has been minimized.

Copy link

t3chnoboy commented Feb 21, 2019

@ltcaosj I have the same issue. The development server is not exposed to the local network.
As a workaround you can start the dev server like this: react-native start --host 0.0.0.0

@ltcaosj

This comment was marked as off-topic.

Copy link

ltcaosj commented Feb 21, 2019

thanks @t3chnoboy , your workaround solution works ;)

@kelset

This comment has been minimized.

Copy link
Collaborator

kelset commented Feb 21, 2019

@ltcaosj @t3chnoboy it looks like it's a CLI issue, can you please open one in the dedicated repo so that it can be investigated?

@ltcaosj

This comment was marked as resolved.

Copy link

ltcaosj commented Feb 22, 2019

@ltcaosj @t3chnoboy it looks like it's a CLI issue, can you please open one in the dedicated repo so that it can be investigated?

facebook/react-native#23589

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment