Archived
从前只有两条回传路由调 wake;保存不是回传,于是「保存即铺格」永远等不到那一拍。 叫不醒不抬手:保存本身是成功的,不该因为叫不醒把 200 变成 500。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
/**
|
|
* **件上按了保存之后**(2026-08-29,spec §5.4)。
|
|
*
|
|
* 两件事按序:
|
|
* ① 重推件 —— 数据变了,算出来的那些(红带缺几格 / 分布条 / 去向)得重新求值;
|
|
* ② **叫醒任务** —— auto 步的配方这才有机会按最新的草稿把该铺的行铺出来。
|
|
* 人挑了芯片类型、按了保存,参数格就在这一下之后出现。
|
|
*
|
|
* 从前只有两条回传路由调 `wake`;保存不是回传,于是「保存即铺格」永远等不到那一拍。
|
|
* **叫不醒不抬手**:保存本身是成功的,不该因为叫不醒把 200 变成 500 ——
|
|
* 下一次推进器扫到它照样会跑。
|
|
*/
|
|
import type { TaskId } from '@contracts';
|
|
|
|
export async function afterSave(
|
|
deps: {
|
|
readonly views: { repush(taskId: TaskId): Promise<unknown> };
|
|
readonly task: { wake(taskId: TaskId): Promise<unknown> };
|
|
},
|
|
taskId: TaskId,
|
|
rows: number,
|
|
): Promise<void> {
|
|
if (rows <= 0) return;
|
|
await deps.views.repush(taskId);
|
|
await deps.task.wake(taskId).catch(() => false);
|
|
}
|