Skip to content
This repository has been archived by the owner on Jun 17, 2022. It is now read-only.

0.62.x Discussion #145

Closed
grabbou opened this issue Sep 24, 2019 · 91 comments
Closed

0.62.x Discussion #145

grabbou opened this issue Sep 24, 2019 · 91 comments
Labels
pre-release rc Release candidate

Comments

@grabbou
Copy link
Member

grabbou commented Sep 24, 2019

Opening this issue thread as a placeholder that we will be starting to work on 0.62.0-rc.0 now that 0.61.0 is shipping.

I will post an update here once we have a better understanding of the timeline.

@grabbou grabbou added rc Release candidate pre-release labels Sep 24, 2019
@kelset kelset pinned this issue Sep 30, 2019
@grabbou
Copy link
Member Author

grabbou commented Oct 2, 2019

Now that 0.61.2 has finally shipped fixing a long-standing elevation regression on Android, I am going to look into 0.62.

@ursnj

This comment has been minimized.

@sebqq

This comment has been minimized.

@ursnj

This comment has been minimized.

@grabbou

This comment has been minimized.

@anchengjian

This comment has been minimized.

@grabbou
Copy link
Member Author

grabbou commented Oct 28, 2019

The Android CI has been fixed. There's work to resolve iOS issues. I will update you as soon as I have more information.

@grabbou
Copy link
Member Author

grabbou commented Oct 29, 2019

I have taken a look at the CI today and tried to break down failures to specific commits. I have managed to progress by reverting some of them and fixing a few of the issues in place. Unfortunately, there are few commits that can't be easily reverted. In both cases, I have outlined them below.

Here's a summary of reverted commits:

  • facebook/react-native@561cbbe - removes Flipper integration for iOS projects. Not sure why it breaks, but the failing test suite is here if you want to help with digging.

Here's a summary of commits that break the CI but can't be reverted:

@grabbou
Copy link
Member Author

grabbou commented Oct 30, 2019

Unfortunately, the tests are still failing because of the TurboModules commits that are causing "Undefined symbols for architecture x86_64" error.

You can find a failure for RCTSettings module here. Looks like it only happens when used with "use_frameworks" (CocoaPods setup).

I will try to work on resolving this issue and apply facebook/react-native@0d54b1c again. I believe there's one fix needed for all modules that were made TurboModules-compatible to make compiler pass.

Meanwhile, maybe @fkgozali and @jtreanor - you have an idea how this could be approached? I remember you were involved in working towards support for "use_frameworks!" in first place.

@grabbou
Copy link
Member Author

grabbou commented Nov 4, 2019

The tests are green. I would like to thank everyone for the help with getting the commits and fixes in place! Especially @RSNara!

We are now evaluating whether to release with October, 13th commits or to re-cut from master (will require few more days to fix tests).

@sebqq
Copy link

sebqq commented Nov 4, 2019

Re-cut 🥳😄

@kelset
Copy link
Member

kelset commented Nov 4, 2019

I agree - if CI is green on master I'd probably just re-cut it since it could at least reduce the difference between the released version and master from a month-ish to a few days / a week

@mikehardy
Copy link

mikehardy commented Nov 4, 2019

"if CI is green on master"... - but, nope: master is solid red https://github.com/facebook/react-native/commits/master

Just for grins I kept paging back looking for a green check. July 18 is the last time master passed CI? https://github.com/facebook/react-native/commits/master?after=56c7ae729a03f44558763e3d86def3a269513bbb+1049

I'm not recommending a course of action but if I'm reading history right that's the facts

Actually, I would recommend getting CI to pass on master ;-) as a "come on everyone let's take a break for a minute agree this is a priority and do this" type deal but I'm not sure I'd hold 0.62 for it

@kelset
Copy link
Member

kelset commented Nov 4, 2019

oh wow - yeah sounds like there should be an effort in getting master back to green that 👀

But then, if instead the current state of 0.62 is a green CI, I would proceed with the current one and not rebase.

@grabbou
Copy link
Member Author

grabbou commented Nov 4, 2019

There's been a few fixes and tweaks here on 0.62-stable to make it pass and all of them have been backported to master since then. Unfortunately, that means we are dealing with a different failure reason now.

I'll check how time-consuming that might be and will report back.

@grabbou
Copy link
Member Author

grabbou commented Nov 4, 2019

CC: @TheSavior and @cpojer, I'd love to get your thoughts on wheter to release as is or sync with master.

There's been some additional context in the recent comments too!

@cpojer
Copy link
Member

cpojer commented Nov 5, 2019

I think the consideration should be about how many more releases we want to have this year and when. The two options I see are:

  1. Stabilize 0.62 now and release it in November, cut a new stable at the end of the year and target a January release for 0.63
  2. Re-cut 0.62 in mid-November and make a stable release in mid-December, then make 0.63 happen in February.

I don't want to influence your decision on this too much but given that you already put a lot of work into stabilizing 0.62, it's probably a good idea to release it (please write a brief blog post!) and then we'll cut the next release after the holidays.

@grabbou
Copy link
Member Author

grabbou commented Nov 13, 2019

Thank you @cpojer for giving your input into the discussion. As you said, I think it's a good idea to release 0.62 right now, with the primary reason being the timing and avoiding unnecessary pressure throughout December.

I believe that releasing a stable version at the end of the year (say December) and cutting the next release candidate early next year (January) is the best way going forward and will help us wrap things up before getting offline for the New Year's Eve.

That said, I am going to proceed with it right now and will write a comment here once the results are online.

@grabbou
Copy link
Member Author

grabbou commented Nov 13, 2019

There is a little issue with Android build system (similar to react-native-community/jsc-android-buildscripts#80). Previously, it was only happening inside RNTester. Now, it also happens while building a new app.

Going to consult this with Facebook team and find a reasonable solution/workaround today before proceeding further.

Note: This shouldn't delay the release any longer, it's just a tiny little tweak I want to do before releasing to save everyone from doing the fix themselves.

@thymikee
Copy link
Member

CLI bump: facebook/react-native@e523302

@grabbou
Copy link
Member Author

grabbou commented Nov 18, 2019

Turns out the issue is brought up by recent Flipper update. Investigating with the team on the next steps.

@dnlowman
Copy link

Is there any update to the status of this?

@mikehardy mikehardy mentioned this issue Nov 19, 2019
@Fausto95
Copy link

is RN0.62 coming with Flipper support?

@grabbou
Copy link
Member Author

grabbou commented Nov 20, 2019

@dnlowman yes - it took a while because I was awaiting an investigation from the Flipper team. There's a known workaround that is going to ship for now. We will see what to do with that next week.

@Fausto95 yes.

@grabbou
Copy link
Member Author

grabbou commented Nov 20, 2019

I have already pushed a fix, going to test it and publish 0.62.0-rc.0.

It's been a while since I cut the branch, so I will take an additional time today & tomorrow to look at it once again and make sure everything works.

@ursnj
Copy link

ursnj commented Nov 21, 2019

app bundles crash issue in play store will fix with this release ???facebook/react-native#25927

@charpeni
Copy link
Member

@safaiyeh this is correct.

I do not have the context on why Flipper wasn't meant to be enabled by default, maybe @axe-fb can provide more information on this.

@axe-fb
Copy link

axe-fb commented Dec 19, 2019

We did mean to enable Flipper by default on both Android and iOS in debug mode, but there were CI failures due to which we had to revert my changes. I think for 0.62, @rickhanlonii is working on ensuring that it is turned back on ?

@charpeni
Copy link
Member

Sounds good. I was confused by the last part of your blog post saying that Flipper is by default, but we need to initialize it.

Hence, for versions of React Native >= 0.62

For Android, simply add initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); to MainApplication.java's onCreate method.

For iOS, add [AppDelegate initializeFlipper:application]; as the first line in AppDelegate.m's didFinishLaunchingWithOptions method.

But it seems like they're no reason to not initialize this by default then since the CI has been fixed. The remaining work is tracked in facebook/react-native#27565.

Thanks for the context!

@safaiyeh
Copy link
Member

I had a PR that I closed before I got context adding it to iOS.

I could push the Android change to it.
facebook/react-native#27569

@sunnylqm
Copy link
Contributor

Please cherry pick facebook/react-native@5ddf00e

@rickhanlonii
Copy link
Contributor

@sunnylqm done

@terrysahaidak
Copy link

terrysahaidak commented Dec 21, 2019

Any chance this will be cherry picked when it land to master?
facebook/react-native#27506

I know this one is not a bug fix, but it's super awesome thing to have ASAP.

I've already done cherry picks in 0.60 and 0.61 branches in my fork of RN, so it should be pretty easy. I can help to do it if so :)

@waqas19921
Copy link

Any chance to have this functionaliy
facebook/react#13211
I know this one is not a bug fix, and the pull request is too old. Can we add this type of functionality?

@danielgindi
Copy link

danielgindi commented Dec 25, 2019

Can you add this facebook/react-native#27607, as in iOS 13 there are serious bugs with KeyboardAvoidingView.

Thank you :-)

@safaiyeh
Copy link
Member

Could we get: facebook/react-native#27512 cherry picked?

We have an open issue in react-native-cookie-store that requires use of this function. Without it, we cannot set Cookies on Android making it inconsistent with the iOS functionality.

safaiyeh/react-native-cookie-store#1

@huuthinh245

This comment has been minimized.

@feruzm
Copy link

feruzm commented Jan 6, 2020

Could this be also added? Android animation bug facebook/react-native#21801

@kelset
Copy link
Member

kelset commented Jan 6, 2020

folks, can I please remember you all to only point to commits already merged on master?

Sometimes PR take time to be merged and things change in the meantime 😓

@huuthinh245 you are linking to a PR for another library, so I'm not sure what could be done on this side.

@xiao99xiao
Copy link

Could we get facebook/react-native@f21fa4e cherry picked? Fixing the RCTWebsocket means a lot to Catalyst developers.

@mgcrea
Copy link

mgcrea commented Jan 9, 2020

Failed to build a clean project using this as I'm encountering the following error:

[...]/ios/Pods/Headers/Private/Flipper-Folly/folly/portability/Time.h:51:17: Typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')

Any ideas?

Aslo, using --template react-native-template-typescript won't work (I guess might be normal as it is a rc).

@kelset
Copy link
Member

kelset commented Jan 9, 2020

@mgcrea AFAIK the FB team is going to cherry pick a few more Flipper-related commits/bugfixes before next RC, so hopefully in next it will be solved! Thanks for reporting anyway :)

@alloy
Copy link
Member

alloy commented Jan 10, 2020

Assuming it lands, this needs to be picked too. That PR is a version of facebook/react-native#27730 that’s already updated for the 0.62 branch.

@linjson
Copy link

linjson commented Jan 14, 2020

@grabbou When do you enable SafeAreaView on Android?

@vanhungoz
Copy link

could this release fix random crash in production in this issue facebook/react-native#27463

@RikScheffer
Copy link

is it possible to cherry pick facebook/react-native@1fbc6a7 ?

@surajSDM
Copy link

@grabbou you need to change pod file dependency i.e pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
to pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
as this is defined inside ReactCommon.podspec

@jacobp100
Copy link

Congrats on the rc1 release! 😄

I noticed the changes to this vs the rc0 were pretty small - is that usually the case for RCs? I'm asking because I was just going to hold off upgrading until it's fully out, but if the changes are this small, I might get a head start on that upgrade

Thanks again for your work!

@kelset kelset mentioned this issue Jan 21, 2020
6 tasks
@kelset
Copy link
Member

kelset commented Jan 21, 2020

Hey everyone - welcome to 2020!

We just published a new RC that introduces the possibility to test the new LogBox, you can find the release notes here: https://github.com/facebook/react-native/releases/tag/v0.62.0-rc.1

In an effort to de-noise this issue which has been open since Sept 2019 let's move the conversation for this Rc phase to a new issue -> #157


@jacobp100 the number of commits was quite small because during the holidays we were considering also adding another number of changes to enable Flipper. But since it's going to take a bit before those lands (and also the FB team is investigating some Android-Hermes issues) we decided to do a first RC now to enable everyone to try the LogBox. And give some more breathing room for Flipper & Hermes to land.

You should wait until 0.62.0 to upgrade, as we are planning to do at least one more RC introducing some more things. We will communicate when we are publishing "the last RC" before .0. Overall, the process will be as fast as we can handle it and all the help and feedback from developers from the community we can get will help us!

@kelset kelset closed this as completed Jan 21, 2020
@react-native-community react-native-community locked as resolved and limited conversation to collaborators Jan 21, 2020
@kelset kelset unpinned this issue Jan 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
pre-release rc Release candidate
Projects
None yet
Development

No branches or pull requests