Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions docs/NATIVE_CHECKUPDATE_DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -643,7 +643,14 @@ full 超时整体失败)、激活判定(`activate || crashHold || forceActiv
3. 逐端接入(Android → iOS → 鸿蒙),每端的编排器改为"驱动引擎 + 执行命令"的薄适配器,
删除被取代的手写循环;Android/鸿蒙在 #669(prepareBundle 超时)合入之后基于最新 master 改。

进度:1、2 已合入(#673、#674)。iOS 已接入:`RCTPushyOrchestrator.mm` 的 `runOnce` 驱动引擎,
命令由 `perform:` / `download:` / `commit:` 执行,宿主取消判定改用 `HostCancellation`;提交败于配置
变更时由适配器按配置代数回报 `reason: "config_changed"`。Android 已接入:`SyncCoordinator.java` 的 `runOnce` 经 `FlowBridge.stepRound`(JNI)驱动引擎,
`download` 执行单次下载并回报 ok/code/timedOut(JVM 单测覆盖),`android/lib` 的 `.so` 随之重编。
状态(2026-10-15):全部落地。引擎与向量 #673,异常兜底 #674,iOS #675,Android #676,鸿蒙 #677
(实际顺序 iOS 在前:Android/鸿蒙要等 #669)。三端编排器现在都是"驱动引擎 + 执行命令":

| 端 | 驱动入口 | 绑定 | 适配器自身的测试 |
| --- | --- | --- | --- |
| iOS | `RCTPushyOrchestrator.mm` `runOnce` → `perform:` / `download:` / `commit:` | 直接调 `flowcore::StepRound` | purge-restore 测试(提交与窗口)、e2e-ios native |
| Android | `SyncCoordinator.java` `runOnce` → `perform` / `download` / `commit` | `FlowBridge.stepRound`(JNI,`.so` 已重编) | `SyncCoordinatorTest`(单次下载的回报)、e2e-android |
| 鸿蒙 | `SyncCoordinator.ts` `runOnce` → `perform` / `download` / `commit` | `NativePatchCore.stepRound`(NAPI,同步) | `harmonySyncRound.test.ts`(以轨迹向量回放适配器)、`nativeHostApi.test.ts` |

三端适配器都在提交被拒时按配置代数回报 `reason: "config_changed"`(Android/鸿蒙换配置时同时递增 reset
代数,提交天然被拒)。改轮次策略只改 `round_engine.cpp` 并更新向量;适配器只在新增命令或事件字段时才需要动。
Loading