## 现象 在系统设置(Setup)里点击侧边栏「数据源」导航项,页面不跳转,URL 始终停留在 `/_console/apps/com.objectstack.setup/dashboard/system_overview`。重复点击两次结果一致(a11y 树确认点中的是 `link "数据源"`)。 ## 复现 1. `pnpm -C examples/app-showcase exec objectstack dev --ui --seed-admin -p 3777`(main,2026-07-23) 2. dev admin 登录 Console → 首页点「系统设置」→ 落在 system_overview 3. 点侧边栏「数据源」→ **URL 与页面均不变** 同页的「浏览应用市场」链接跳转正常(→ `/_console/apps/setup/system/marketplace`),说明不是侧边栏整体坏,是该导航项的绑定。 ## 影响 外部数据源管理是 ADR-0062 的门面能力,管理员核心路径不可达;dogfood 时想演示 Setup → Datasources 页面直接做不到。 ## 根因线索 - 怀疑 nav item 指向的 surface/route 未挂载或绑定错误——与 #3361/#3362 记录过的「discovery 广告了 ≠ 实际挂载」是同族模式(dispatcher vs hono seam),值得先查该 nav 的目标在 `os dev` 的 hono 路径上是否存在。 - 也可能该项被渲染成 link 但目标解析为空(fail-silent)。 ## 建议 1. 修复绑定本身; 2. 导航项目标解析失败时 fail-loud(至少 console warn),不要渲染成看起来可点的死链接; 3. e2e 给 Setup 每个 nav 项加「点击后 URL/surface 变化」断言。 --- *来源:内部培训 PPT 制作过程中的 dogfood(浏览器实测,非代码走读)。*
Activity
os-zhuang commentedon Jul 24, 2026
复现结论:当前 main 上导航正常,无法复现
在当前 main(showcase
os dev --ui --seed-admin,dev admin 登录)逐步实测 Setup → 侧边栏「数据源」:/_console/apps/setup/component/metadata/resource?type=datasource(即框架service-datasource插件type:'url'贡献的 nav)。…/dashboard/system_overview→…/component/metadata/resource?type=datasource→ 经LegacyMetadataRedirect一跳落到规范 REST 列表页/_console/apps/setup/metadata/datasource。External Analytics (SQLite) / showcase_external / sqlite,含 Test / Sync objects 按钮)。即:该
type:'url'目标component/metadata/resource是有效(legacy)路由,会重定向到规范页,不是死链。承载该 REST 路由/重定向的改动(objectuirefactor: migrate metadata admin to REST-style /metadata routing)早在 2026-05-27 就已合并,先于本 issue 的 2026-07-23 dogfood 观察——所以当时理论上也是通的。原始观察「URL 停留在 system_overview、重复点两次一致」目前无法复现,最可能是当时的瞬态(未等到重定向那一跳就判定 no-op)。
建议
type:'component' + componentRef:'metadata:resource' + params:{type:'datasource'}(与studio.app.ts对所有元数据类型的写法一致,SystemHubPage的权威指引也是这个),这样不再依赖 legacy 重定向那一跳。如需要可单独提 PR。来源:#3419 排查(浏览器逐步实测,非静态走读)。
os-zhuang commentedon Jul 24, 2026
关闭为 not-reproducible:当前 main 实测该导航正常(点击→重定向→渲染 Datasources 列表,见上方评论的逐步证据),原始「无跳转」无法复现,承载路由早于观察时间已合并。若日后能提供当时的 console/network 记录或稳定复现步骤,欢迎重开。issue 建议 #3(Setup nav 点击后 surface 变化的 e2e 断言)作为独立的发布前护栏仍有价值,可另开跟踪。