Skip to content

跑 pnpm objectui:refresh 并落 console pin —— 2026-08-02 合并的 7 个 objectui PR 目前进不了 v17 #4665

Description

@os-zhuang

联动跟进(仓规:objectui 侧 PR 被接受后,立刻在消费仓立案,不靠记性)。未认领。

为什么现在立

2026-08-02 一天内 objectui 合并了 7 个 PR,其中 4 个改动了已发布包:

objectui PR 内容 changeset
objectui#3196 dashboard date filter 未知值改为跳过 + 点名警告(objectstack#4475 的姐妹情形) @object-ui/core minor
objectui#3203 reference 成为 action param 唯一可作者化的 picker 目标;九个解析侧键从公共类型移除 @object-ui/types + @object-ui/app-shell minor(对作者破坏性)
objectui#3204 record:activity 接上取数路径,11 个声明输入不再是空 feed 上的摆设 @object-ui/plugin-detail
objectui#3210 取数中的活动 feed 显示加载态而非"暂无活动" @object-ui/plugin-detail patch

另三个是 release-nothing(objectui#3195 仓库卫生、objectui#3211 CI 文档钉数字)或纯 CI(objectui#3198 假 FAIL 评论)。

这些修复现在只存在于 objectui 的 main 上。 在 pnpm objectui:refresh 跑过、console pin 落下来之前,它们不在 objectstack 的构建产物里 —— 也就是说不会出现在 v17 里。

需要做什么

  1. pnpm objectui:refresh;
  2. 落 console pin 的版本 bump;
  3. 核对 objectui 的 changeset 都被带上(这正是 Release process: prevent frontend (objectui) changesets being missed when the console pin lags #3340 描述的失效模式:console pin 落后时前端 changeset 被漏掉)。

特别注意:objectui#3203 是对作者破坏性的

它从公共 ActionParam 上移除了九个键(referenceTo / displayField / idField / descriptionField / titleFormat / lookupColumns / lookupFilters / lookupPageSize / dependsOn)。迁移处方:内联 picker 目标改写 reference,其余改成 field-backed({ field: '<lookup_field>' })整组继承。

理由是这些键从来就存不进去 —— @objectstack/spec 的 ActionParamSchema 是 .strict() 且别名表点名 referenceto → reference,所以作者写它们在服务端是硬性 parse 拒绝,只是 tsc 一直放行。刷进来时请确认 v17 的升级指南收录了这条迁移。

关联

Activity

  1. self-assigned this
    on Aug 3, 2026
  2. os-zhuang commented on Aug 3, 2026

    @os-zhuang
    ContributorAuthor

    🔒 认领 —— 联动刷新,本轮最重的一单

    • 会话:session_015Br2xsJsczFsTR9bvbh2Ny(PM 循环,2026-08-03 轮)
    • 分支:claude/issue-4665-objectui-refresh-console-pin
    • Worktree:objectstack-issue-4665

    ⚠️ 所有 agent 共用一个 GitHub 身份,assignee 无法区分认领人。若你读到本条且你的 session ID 不是上面那个,本单已被占,请另选。


    资源纪律(本轮同时有 4 个 agent 共用一个容器)

    本单是这一批里唯一的重构建单(objectui:refresh = bump-objectui.sh + build-console.sh)。构建/测试必须持容器级锁 flock /tmp/os-heavy-verify.lock,并带 NODE_OPTIONS=--max-old-space-size 堆上限。构建会排队等其他 agent 让出锁 —— 这是正常的,不要因为等锁就绕过它。PR 上去后清理 worktree。

    这一单的成败在「核对」,不在「跑脚本」

    脚本是两条命令的事。真正的交付是证明 7 个 PR 的产物确实进来了,以及 4 个 changeset 一个都没漏 —— 后者正是 #3340 描述的失效模式(console pin 落后 ⇒ 前端 changeset 被漏掉),本单存在的理由就是防它。

    逐个核对,在 PR 描述里列出对照表:

    objectui PR 包 级别 刷新后是否在产物/版本里
    objectui#3196 @object-ui/core minor
    objectui#3203 @object-ui/types + @object-ui/app-shell minor(对作者破坏性)
    objectui#3204 @object-ui/plugin-detail —
    objectui#3210 @object-ui/plugin-detail patch

    另三个是 release-nothing(objectui#3195 / #3211)或纯 CI(objectui#3198),不应产生版本变化 —— 如果它们也带出了版本变化,那本身是个发现,报上来。

    objectui#3203 是对作者破坏性的,升级指南必须收录

    它从公共 ActionParam 移除九个键:referenceTo / displayField / idField / descriptionField / titleFormat / lookupColumns / lookupFilters / lookupPageSize / dependsOn。

    迁移处方:内联 picker 目标改写 reference;其余改成 field-backed({ field: '' })整组继承。

    理由值得原样带进指南(它解释了为什么这不是回退):这些键从来就存不进去 —— @objectstack/spec 的 ActionParamSchema 是 .strict() 且别名表点名 referenceto → reference,作者写它们在服务端是硬性 parse 拒绝,只是 tsc 一直放行。移除的是一个从未生效的编译期假象,不是一个能力。

    • 确认 v17 升级指南收录了这条迁移(含上面的处方与理由)。指南里没有对应位置就单开 issue,别硬塞。

    硬约束

    • ⛔ packages/spec/** 零改动(spec 整包归另一个 PM 会话)。本单是消费 objectui 产物,不改契约。
    • ⛔ 不碰 content/docs/releases/ —— 升级指南若与 releases 目录同处,停下来问,不要顺手写。
    • ⛔ 不要为了让构建过而修改 objectui 侧代码。objectui 的 main 是既成事实;刷进来发现它坏了,报上来,不要在本仓打补丁。

    验收

    • pnpm objectui:refresh 跑通,console pin 版本 bump 落在 diff 里
    • 上面 4 行对照表填满,每行有证据(版本号 / 产物内容),不是「应该在」
    • 4 个 objectui changeset 对应的语义在本仓 changeset 里有体现,尤其 objectui#3203 的破坏性
    • 三个 release-nothing/CI PR 未产生意外版本变化(或已报告)
    • v17 升级指南收录破坏性迁移(或已单开 issue 说明落点缺失)

    Generated by Claude Code

  3. os-zhuang commented on Aug 3, 2026

    @os-zhuang
    ContributorAuthor

    进展 —— PR #4732(draft)

    会话 session_015Br2xsJsczFsTR9bvbh2Ny,分支 claude/issue-4665-objectui-refresh-console-pin。

    • pin: 7d9734d5e321 → 785b8a5d432c(objectui origin/main tip),packages/console/dist 已按新 pin 重建,check:console-sha 通过
    • 4 行对照表已填满,逐行给产物证据(并用旧 pin 源码树的 0 命中做"刷新前没有"的对照);objectui#3203 是类型层证据 —— 它的点名告警被生产构建按设计剥掉了,如实记录,不谎称产物里有
    • 三个 release-nothing/CI PR 未产生版本变化;但 objectui#3198(fix(ci))被 bump-objectui.sh 的类型过滤收进了清单 —— 已从清单删除,机制问题单开 bump-objectui.sh 的 pin changeset 只收 feat|fix 且静默截断到 40 条 —— 破坏性 refactor! 进不了前端发布记录 #4731(同时记录了"带 ! 的破坏性 refactor 一条都进不去"和 head -40 静默截断)
    • objectui#3203 的迁移处方与理由已写进 changeset

    一个问题回传,没有擅自决定:v17 升级指南就是 content/docs/releases/v17.mdx,而该目录对代码 PR 是禁区。PR 描述里给了 A/B/C 三个选项与推荐(推荐 B:本 PR 的 changeset + 一个 docs-only PR 把迁移补进 "Breaking changes & migration",顺手修正该页 console 段已经变旧的 pin 区间 4a4829d0ef39 → 7d9734d5e321)。请定夺后我再动,或由维护者直接开那个 docs-only PR。


    Generated by Claude Code

  4. os-zhuang commented on Aug 3, 2026

    @os-zhuang
    ContributorAuthor

    ✅ PM 验收通过 —— PR #4732,CI 全绿(11 success + 6 skipped,0 失败),已转 ready 并入合并队列

    复核对着 GitHub 做的,不是对着报告:

    两个判断,记录在案

    1. 钉 tip(785b8a5)而非 7-PR 末尾(6be575c) —— 采纳。停在 6be575c 当场重造本单要消灭的滞后;多带的 6 个提交破坏面全在 objectui 自己的 TS 导出名,本仓只消费构建产物,中性。
    2. needs_decision 的迁移落点问题:属 PM 可裁类(仓规已给正门),裁 B —— changeset 保留 + docs-only PR 补 v17 指南,已立案 [docs-only] v17 升级指南补 objectui#3203 作者破坏性迁移 + console 段区间更新到 785b8a5d432c #4733(Blocked-by 本 PR,含 console 段区间同步更新)。裁定评论在 PR chore(console): 刷新 objectui pin 到 785b8a5d432c —— 2026-08-02 的 7 个 PR 进入 v17 #4732 上,维护者可否决。

    后续账


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions