From 6437132ba3c337b65200779b1068d63d412646a8 Mon Sep 17 00:00:00 2001 From: HIsheR Date: Mon, 26 Oct 2026 22:14:58 +0800 Subject: [PATCH] =?UTF-8?q?chore(backlog):=20=E8=AE=B0=E5=BD=95=20g254=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ua/backlog.json | 9 +++++++++ .ua/iterations.log | 1 + 2 files changed, 10 insertions(+) diff --git a/.ua/backlog.json b/.ua/backlog.json index 854c754..70c086b 100644 --- a/.ua/backlog.json +++ b/.ua/backlog.json @@ -2672,6 +2672,15 @@ "status": "done", "domain": "tooling", "notes": "生成器本身是模板串,MD 里的三反引号围栏改用 String.fromCharCode(96) 拼,避免把模板串提前截断(第一版直接写裸反引号导致 ua.js 语法错误,已回滚重写);顺手用 node 取生成产物里的 mdOf 做了一次实际输出核对(含联合类型竖线转义)" + }, + { + "id": "g254", + "title": "换源后越界页码回写内核状态(settle 钩子)", + "motivation": "g247 引入 setRows 换源后暴露:数据从 3 页缩到 1 页时,getPageInfo() 钳制成 1、state.pagination.page 仍是 3——视图和状态各说各话。更糟的是数据恢复后表格会「记得」失效的旧页码直接跳回第 3 页,用户会以为数据被吞了。", + "acceptance": "TablePlugin 增加可选 settle 钩子(派生后收敛自身状态切片,无需修正须原样返回同一引用);core 在派生末尾跑一轮 settle 并只走 onStateChange、不广播订阅(避免读取期重入);pagination 用新鲜快照回写生效页,快照过期不写;smoke 补 5 条断言覆盖「缩水→回写 / 恢复→不跳页 / 跳越界→回写末页 / 快照语义不变」;npm run check 全绿。", + "status": "done", + "domain": "core", + "notes": "只回写不改派生:pageInfo 仍是纯派生量,越界钳制口径不变(dataTable 的受控页码桥接因此不再需要额外钳制);快照新鲜度用「本次 derive 是否按当前 state 完整跑过」判断,paged=false(getAllRows 导出)会把 fresh 置假,避免拿旧快照写错页码" } ] } diff --git a/.ua/iterations.log b/.ua/iterations.log index d1beb4d..7035509 100644 --- a/.ua/iterations.log +++ b/.ua/iterations.log @@ -298,3 +298,4 @@ {"ts": "2026-10-26T22:08:59+08:00", "id": "g251", "result": "done", "commit": "4b57f11", "summary": "ua tokens 增加 --unused:按「皮肤样式表 + 令牌自身派生」算消费面,列出闲置令牌(当前 3 个:surface-3 / text-secondary / font-size-xl),只报不删"} {"ts": "2026-10-26T22:09:57+08:00", "id": "g252", "result": "done", "commit": "80ffee5", "summary": "MCP get_component 增加 format:md,与 ua info --md 共用渲染;tools/call 对字符串结果原样返回,Agent 直接拿到可粘贴 Markdown"} {"ts": "2026-10-26T22:11:44+08:00", "id": "g253", "result": "done", "commit": "d23d861", "summary": "文档站每个组件卡加「复制参数表」按钮,前端按同一口径生成 Markdown(竖线转义 + 围栏),无剪贴板权限时退回 execCommand"} +{"ts":"2026-10-26T22:14:54+08:00","id":"g254","result":"done","commit":"43af4cf","summary":"TablePlugin 增 settle 钩子:派生后把越界页码收敛回内核 state,换源缩水不再滞留旧页码、数据恢复也不跳页;smoke 26→31 条"}