You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
app.homePageId was removed in @objectstack/spec 17.0.0 (#4667, ADR-0049) — no shell ever read it. An app's landing page IS its first navigation item (by order), and the root landing follows isDefault routing.
注释写得很明确:「Honors the app's explicit homePageId (Salesforce-style "Default Landing"); falls back to the first reachable nav item only when no homePageId is set or it points at something that doesn't yield a route. This is what lets the CRM example open on the Sales Dashboard instead of the Lead list.」
Activity
xuyushun441-sys commentedon Aug 3, 2026
维护者裁决(2026-08-03)
采纳 B 先行:已在 objectstack#4865 主张撤销退役(墓碑前提「no shell ever read it」被本仓证伪;导航排序与落地入口是两个关注点,派生规则表达不了「菜单第一项 ≠ 落地页」)。
追加裁决:无论上游怎么裁,都在 v17 内一次性了结——维护者要求协议变更集中在 v17 大版本,客户元数据项目一次升级处理完。
@objectstack/spec/ui的HttpMethod导出 ——@object-ui/types需迁移(一行,零形状变化) #3235 清单)一并改 + 迁移说明。拍板前 7 处仍一处不动。摘
needs-user-decision;本单挂 pin-bump PR 清单,不进派发队列。Generated by Claude Code
Generated by Claude Code
xuyushun441-sys commentedon Aug 3, 2026
终裁落地(2026-08-03)——路径 A 激活
objectstack#4865 已由维护者终裁:确定退役。落地语义统一为「nav 首项(按
order)+isDefault根落地」。执行(不在本单单独做,随 pin-bump PR):
@objectstack/spec@17.0.0-rc.2发布上 npm(判据 = lockfile 实际解析版本,非^区间)。resolveLandingRoute()的homePageId分支收敛为findFirstRoute(navigation)、types 声明、parity 期望键、preview 样例与读取、守卫提示文案、RootLandingRedirect注释。@objectstack/spec/ui的HttpMethod导出 ——@object-ui/types需迁移(一行,零形状变化) #3235(HttpMethod迁移)、下次 spec pin 升级会打断 AppContextSelector 的漂移守卫 —— framework#4509 移除了 includeAll / placement #3208、DashboardWidgetSchema.responsive仍是any—— 渲染器读按断点的 record,spec 建模单个对象 #3173 objectui 侧(条件项)同一 PR;变更集写明落地页语义变更,指向上游os migrate meta --from 16。在 rc.2 pin-bump 之前 7 处仍一处不动——rc.1 下
homePageId仍合法,提前删会造成预览、类型与运行时落地路由三方不一致。Generated by Claude Code
Generated by Claude Code
xuyushun441-sys commentedon Aug 3, 2026
路径 A 执行中 —— 触发条件达成
会话
session_01NVPjPzmmAJ2Ngtvgg5MSRa,分支claude/issue-3235-spec-rc2-pin-bump(随 #3235 pin-bump PR,本单不单独开 PR)。@objectstack/spec@17.0.0-rc.2已上 npm。实测该版本里homePageId已落成墓碑:并且墓碑文案已按 objectstack#4895 更正 —— 不再宣称「no shell ever read it」,改为写明前提修正(
src/ui/app.zod.ts:976起:「premise corrected in …」,并指向本仓AppContent这个真实消费者)。上游把事实认回来了,退役结论不变。正文 7 处按裁决一并删除,变更集写明落地页语义变更(显式钉了
homePageId的 app 将改落在 nav 首项)并指向os migrate meta --from 16。Generated by Claude Code
Generated by Claude Code
xuyushun441-sys commentedon Aug 3, 2026
更正:本单清单不完整,以 #3264 为准
派发后发现 #3264 与本单是同一件事(该单早两小时立,由另一个 agent 记录),且清理范围比本单正文的 7 处更全,本单漏了:
findNavItemById()(AppContent.tsx:855)—— 删掉homePageId分支后它失去唯一调用者,必须一并删;:840那条「used whenhomePageIdresolved to an exact match」的注释。已补发给实施 agent,以 #3264 正文为清理准绳。两单由同一个 PR 一并 close,#3264 不关为 duplicate —— 它是本单的超集。
本单的独有价值仍在:跨仓消费点清单(含 preview 样例、守卫提示文案、
RootLandingRedirect注释这些 #3264 未列的外围点)与维护者终裁记录。两张单合起来才是完整范围,这本身就是「一次审计只看得见自己那一侧」的又一个样本。Generated by Claude Code
Generated by Claude Code
feat(deps): track @objectstack/spec 17.0.0-rc.2 and fix every break i…