Skip to content

v10.62.3

Choose a tag to compare

@sunnylqm sunnylqm released this 03 Nov 11:31
8ca91fa

English

Fixes

  • Android: false rollback after a start without UI. A push message, HeadlessJS task or other start without UI creates the React Native instance but never mounts UpdateProvider, so it cannot mark success. If an update was waiting for its first load, that start used it up and the next launch rolled back a version that had not failed. It also made the client ignore that version afterwards.

A start without UI now leaves the first load pending. The first load begins at the next foreground launch, or when the first activity starts in the same process. A version that is opened and not marked successful still rolls back.

A version that crashes only in the background now rolls back after the user opens the app and it fails there, not after the background crash alone.

This release changes Android native code, so it takes effect in a new native build. No server or CLI change is needed.

Full changelog

中文

修复

  • Android:无界面启动后的误回滚。 推送消息、HeadlessJS 任务等无界面启动会创建 React Native 实例,但不会挂载 UpdateProvider,因此无法标记成功。如果此时有更新在等待首次加载,这次启动会把机会用掉,下次启动就会回滚一个并没有出错的版本,客户端之后也会忽略该版本。

现在无界面启动不再消耗首次加载。首次加载从下一次前台启动开始计入,或在同一进程里第一个 Activity 启动时开始计入。打开后未标记成功的版本仍然会回滚。

只在后台崩溃的版本,现在要等用户打开 App 并再次失败后才会回滚,不再因为后台崩溃一次就回滚。

本次修改了 Android 原生代码,需要重新构建原生包才会生效。服务端和 CLI 无需改动。

完整变更