feat(desk): 件上保存之后叫醒任务 —— auto 步的配方才有机会按最新草稿铺格

从前只有两条回传路由调 wake;保存不是回传,于是「保存即铺格」永远等不到那一拍。
叫不醒不抬手:保存本身是成功的,不该因为叫不醒把 200 变成 500。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
xcs
2026-08-29 06:32:45 +08:00
co-authored by Claude Opus 5
parent 6f721ffc6d
commit 35ef0f1790
3 changed files with 69 additions and 2 deletions
+3 -2
View File
@@ -32,6 +32,7 @@ import { assetRowsOf, keyText, listArchived, readArchived } from '../asset-archi
import { landDataOrder } from '../data-order-landing.ts';
import { composeFile, isFileFormat, MIME_OF, safeFileName, type FileFormat } from '../file-compose.ts';
import { toFileDoc } from '../file-doc.ts';
import { afterSave } from '../save-wake.ts';
import { displayLog } from './log-lines.ts';
import { pulse } from '../workers/pulse.ts';
import type { Container } from '../container.ts';
@@ -1361,8 +1362,8 @@ export function registerDeskRoutes(app: Hono<AppEnv>, container: Container): voi
return c.json(body, 409);
}
const saved = await applyViewTableEdits(container, taskId, parsed.data);
// 数据变了,件跟着变 —— 算出来的那些(类徽 / 分布条 / 去向)由这一次重渲重新求值
if (saved.rows > 0) await container.views.repush(taskId);
// 数据变了,件跟着变;并叫醒任务 —— auto 步的配方这才有机会按最新的草稿铺格
await afterSave(container, taskId, saved.rows);
/*
* **有行没落下就如实说** —— 保存说成功、东西却不在,是这一屏最伤人的一种谎
* (2026-08-24 用户实测:件上加的那个客户推到下一步就不见了)。