Skip to content
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

App layout breaks after hot-push + upgrade from RN 0.42 to 0.43rc on iOS #775

Closed
smontlouis opened this issue Apr 3, 2017 · 14 comments
Closed
Assignees

Comments

@smontlouis
Copy link

Description

I just upgraded RN from 0.42 to 0.43rc in order to use FlatList.
After releasing the update on code-push with new RN update, I noticed that my layout was completely broken, plus I have some red borders on my containers.

Everything is Ok on debug and fresh prod install so I guess it's a codepush issue ?
Here is a gif, any ideas ?

Additional Information

  • react-native-code-push version: 1.17.3-beta
  • react-native version: 0.43.0-rc.4
  • react: 16.0.0-alpha.3
  • iOS/Android/Windows version: iOS 10.3
@sergey-akhalkov
Copy link
Contributor

Hi @bulby97, thank you for reaching us. Could you please verify if the issue also reproduces for react-native: 0.43.0-rc.5? Do I get it right that you are using immediate installation mode? If so, please try to close, then open app and verify if the issue still reproduces. Please let me know if any updates.

@smontlouis
Copy link
Author

smontlouis commented Apr 3, 2017

image
Seems like the rc5 is not yet available.

It's not immediate, it's every time the app is starting.
I've already tried to close and open the app again, but nothing changes. :(

@jcharbo
Copy link

jcharbo commented Apr 3, 2017

Hi @bulby97 , I seem to be having an issue upgrading to rc4 as well. When I compile in Android I get the following:
Error:09:23:37.487 [ERROR] [system.err] /Users/jeremeycharbonnet/thejump/node_modules/react-native-code-push/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java:22: error: cannot find symbol 09:23:37.487 [ERROR] [system.err] import com.facebook.react.uimanager.ReactChoreographer; 09:23:37.487 [ERROR] [system.err] ^ 09:23:37.487 [ERROR] [system.err] symbol: class ReactChoreographer 09:23:37.487 [ERROR] [system.err] location: package com.facebook.react.uimanager 09:23:38.128 [ERROR] [system.err] /Users/jeremeycharbonnet/thejump/node_modules/react-native-code-push/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java:257: error: package ReactChoreographer does not exist 09:23:38.128 [ERROR] [system.err] ReactChoreographer.getInstance().postFrameCallback(ReactChoreographer.CallbackType.TIMERS_EVENTS, new Choreographer.FrameCallback() { 09:23:38.128 [ERROR] [system.err] ^ 09:23:38.130 [ERROR] [system.err] /Users/jeremeycharbonnet/thejump/node_modules/react-native-code-push/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java:257: error: cannot find symbol 09:23:38.130 [ERROR] [system.err] ReactChoreographer.getInstance().postFrameCallback(ReactChoreographer.CallbackType.TIMERS_EVENTS, new Choreographer.FrameCallback() { 09:23:38.130 [ERROR] [system.err] ^ 09:23:38.130 [ERROR] [system.err] symbol: variable ReactChoreographer 09:23:38.386 [ERROR] [system.err] 3 errors 09:23:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception. 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong: 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':react-native-code-push:compileReleaseJavaWithJavac'. 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Compilation failed; see the compiler error output for details. 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 09:23:39.406 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is: 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':react-native-code-push:compileReleaseJavaWithJavac'. 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.Transformers$4.transform(Transformers.java:169) 09:23:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details. 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:206) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:164) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76) 09:23:39.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] ... 20 more 09:23:39.409 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]

@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

Hi @jcharbo, provided issue has been fixed in #735. I suppose that react-native-code-push@2.0.0-beta will be released very soon.

@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

@bulby97, React Native team have released new version of RN: react-native@0.43.0, please verify if the issue is fixed by the new release. In case the issue still reproduces, it would be very helpful if you'll provide me with code samples (the way you are using FlatList), so I'll be able to start investigation mush faster. Anyway I'll let you know if any updates.

@smontlouis
Copy link
Author

smontlouis commented Apr 4, 2017

@sergey-akhalkov I confirm that the problem still exists with react-native@0.43 and is not related to FlatList. I dropped FlatList to ListView and switched to 0.43 and boom, layout broken.
Android seems ok (just released 0.43 on production on Android and no bugs), but when upgrading from 0.42 to 0.43 and hot push on iOS, I have that layout issue :(

Here is my branch: https://github.com/bulby97/Venez-et-Raisonnons/tree/feature/concordance
Hot-push with 0.42 is 100% ok.
Switching to 0.43 and hot-push is not ok.

@sergey-akhalkov
Copy link
Contributor

@bulby97, thank you for the explanation, I'll try to figure out what goes wrong and let you know if any updates.

@smontlouis smontlouis changed the title App layout breaks after hot-push + upgrade from RN 0.42 to 0.43rc App layout breaks after hot-push + upgrade from RN 0.42 to 0.43rc on iOS Apr 4, 2017
@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

@bulby97, I've crated sample app that uses FlatList from RN examples and I've got no layout issues after releasing and applying CodePush update, so is it possible that you are trying to apply js bundle (from CodePush update) compiled with RN0.43 to the apps that have been compiled with RN0.42 and that are currently running js bundle that also has been complied with RN0.42?

@sergey-akhalkov sergey-akhalkov self-assigned this Apr 4, 2017
@smontlouis
Copy link
Author

smontlouis commented Apr 4, 2017

so is it possible that you are trying to apply js bundle (from CodePush update) compiled with RN0.43 to the apps that have been compiled with RN0.42 and that are currently running js bundle that also has been complied with RN0.42?

@sergey-akhalkov this is exactly what I'm trying to do, sorry if I did not made it clear.

When I have time I'll try to create a sample app running on 0.42, and applying a code-push update running on 0.43

@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

@bulby97, I believe you should not apply js bundle compiled with RN0.43 to the app that is currently running RN0.42 or vice versa. It could lead unexpected issues due to the app running RN0.43 may have important native side changes that are not present in the app running RN0.42. The same is for js bundles - js bundle produced by RN0.43 may have another content (or way it interacts with the native side) than js bundle produced by RN0.42.
I suppose it would be much better to release app compiled with RN0.43 to the app store first, and then produce CodePush updates if needed.

@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

@jcharbo, we've released new version of React Native Module for CodePush: react-native-code-push@2.0.1-beta (it's available via npm), please let me know if you see any issues or have any questions.

@smontlouis
Copy link
Author

Actually it's a very good and logical point and I don't even know why I didn't even think about it. I must be very tired.

Thanks a lot for your time and sorry ! Closing now.

@sergey-akhalkov
Copy link
Contributor

sergey-akhalkov commented Apr 4, 2017

@bulby97, no problem, thank you for reaching us and feel free to reopen if needed!

@jcharbo
Copy link

jcharbo commented Apr 4, 2017

thanks @sergey-akhalkov , that fixed it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants