Re:Why Discord Is Sticking with React Native
by victoriasun on Thursday July 26, 2018 @05:10PM
(#17621160)
Apple allows updates to Javascript outside of the review process as long as it subscribes to certain guidelines (1), including but not limited to: not changing core feature functionality, being limited to bug fixes, and also that the app doesn't provide unlimited access to native SDK or system functions. React Native provides a limited API to js code so it's fine.
As far as your second question, we simply deploy store logic that loads a Modal telling our users that they must relaunch the app.
[1] https://microsoft.github.io/code-push/faq/index.html#1-does-...
Re:Why Discord Is Sticking with React Native
by saagarjha on Thursday July 26, 2018 @05:21PM
(#17621286)
How do you convey "relaunch the app" to your users? I'm sure many of them think that pressing the home button is the same as killing your app.
Re:Why Discord Is Sticking with React Native
by victoriasun on Thursday July 26, 2018 @05:29PM
(#17621379)
Since OTA updates can only impact JS, we can offer a button that essentially calls something like `window.refresh` and it reloads the JS bundle within the container. We actually recently leveraged ErrorBoundaries in React 16 to do something similar in our app as well.
Re:Why Discord Is Sticking with React Native
by dfabulich on Friday July 27, 2018 @01:19AM
(#17623629)
See section 4.7.
> Apps may contain or run code that is not embedded in the binary (e.g. HTML5-based games, bots, etc.), as long as [long list of requirements...]
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps.
Also,
> we also have a flag that forces our users to relaunch the app if the bug is app breaking
How do you do this?