越界发现,记录于 #3712(ROADMAP.md 单文件改写)期间,只报不改,单独立单,未认领。
基线:origin/main @ 4e93e40d7。
事实
#3660 把两个侧边栏的 sys-datasources 从 legacy 别名改指引擎的规范路由,并在代码里留了完整判词——packages/app-shell/src/layout/AppSidebar.tsx:330-337:
#3660 — sys-datasources names the metadata-admin engine's CANONICAL route /apps/setup/metadata/datasource, not the legacy …/component/metadata/resource?type=datasource alias it used to carry. That alias is not a page: its route element is LegacyMetadataRedirect, which Navigates onto exactly the URL spelled here, so every click paid a redundant hop plus a re-render.
但同一个数组里紧挨上一行的 sys-objects 没有一起改。今天仍有三个调用点发出 legacy 别名:
packages/app-shell/src/layout/AppSidebar.tsx:329 url: '/apps/setup/system/metadata/object'
packages/app-shell/src/layout/UnifiedSidebar.tsx:335 url: '/apps/setup/system/metadata/object'
packages/app-shell/src/console/home/QuickActions.tsx:39 href: '/apps/setup/system/metadata/object'
而 system/metadata/:metadataType 正是别名:
- console host 侧
apps/console/src/AppContent.tsx:190 的 route element 是 MetadataRedirect;
- app-shell 侧同名别名亦为重定向(
packages/app-shell/src/console/AppContent.tsx:645-662 的注释自述这些别名「serving bookmarks and external links, the arrivals that can never be re-pointed」)。
规范目标是 /apps/setup/metadata/object(packages/app-shell/src/console/AppContent.tsx:641 的 metadata/:type,元素 MetadataResourceListPage)。apps/console/src/__tests__/AppContent.legacyRedirects.test.tsx:105-113 已把这条改写钉成「ONE hop」:/apps/x/system/metadata/object → /apps/x/metadata/object。
所以现状是:内部导航自己把流量喂进为「无法改指的外部到达」保留的别名——正是 #3639 与 #3660 分别为 console host 的两个 redirect、以及 System Hub 卡片消除掉的形态(SystemHubPage.tsx:180-188 的注释:「this only stops the hub feeding its own traffic through them」)。
血缘(为什么是漏掉而不是有意保留)
git log -L 显示这三处的拼法都早于那轮清理、之后未被触碰:
AppSidebar.tsx:329 最后一次改动是 97c68317c(i18n polish,只包了 t(),URL 原样);
QuickActions.tsx:39 最后一次改动是 152bd4561(setup app,只加了 /apps/setup 前缀),其上一次是 f9f9f5157,即把 /system/objects 改成 /system/metadata/object 的那次。
代码里没有任何注释为 sys-objects 保留别名拼法作辩解——与它下一行 sys-datasources 的长注释形成对照。
复核方式
grep -rn "system/metadata/object" --include='*.ts' --include='*.tsx' apps/ packages/ | grep -v __tests__
sed -n '320,345p' packages/app-shell/src/layout/AppSidebar.tsx
sed -n '328,345p' packages/app-shell/src/layout/UnifiedSidebar.tsx
sed -n '30,45p' packages/app-shell/src/console/home/QuickActions.tsx
sed -n '105,113p' apps/console/src/__tests__/AppContent.legacyRedirects.test.tsx
影响面
用户可感,但轻:点「Object Manager」/「Manage Objects」会先落别名再 Navigate 到规范 URL —— 多一跳、多一次 re-render,浏览器历史里多一格(Back 键行为因此与 sys-datasources 不一致)。落地页正确,所以不是死链。
严重度按纪律不自评,留给分诊:#3660 已经把同一形态判为值得修,而这三处是它围栏外的同族残余。
关联
已就关键词(sys-objects、system/metadata/object、QuickActions、redundant hop、sidebar / 别名)搜过本仓 issue:相关单(#3610 / #3639 / #3661 / #3669)均已关闭,无同源开放单。
Generated by Claude Code
越界发现,记录于 #3712(
ROADMAP.md单文件改写)期间,只报不改,单独立单,未认领。基线:
origin/main@4e93e40d7。事实
#3660 把两个侧边栏的
sys-datasources从 legacy 别名改指引擎的规范路由,并在代码里留了完整判词——packages/app-shell/src/layout/AppSidebar.tsx:330-337:但同一个数组里紧挨上一行的
sys-objects没有一起改。今天仍有三个调用点发出 legacy 别名:而
system/metadata/:metadataType正是别名:apps/console/src/AppContent.tsx:190的 route element 是MetadataRedirect;packages/app-shell/src/console/AppContent.tsx:645-662的注释自述这些别名「serving bookmarks and external links, the arrivals that can never be re-pointed」)。规范目标是
/apps/setup/metadata/object(packages/app-shell/src/console/AppContent.tsx:641的metadata/:type,元素MetadataResourceListPage)。apps/console/src/__tests__/AppContent.legacyRedirects.test.tsx:105-113已把这条改写钉成「ONE hop」:/apps/x/system/metadata/object→/apps/x/metadata/object。所以现状是:内部导航自己把流量喂进为「无法改指的外部到达」保留的别名——正是 #3639 与 #3660 分别为 console host 的两个 redirect、以及 System Hub 卡片消除掉的形态(
SystemHubPage.tsx:180-188的注释:「this only stops the hub feeding its own traffic through them」)。血缘(为什么是漏掉而不是有意保留)
git log -L显示这三处的拼法都早于那轮清理、之后未被触碰:AppSidebar.tsx:329最后一次改动是97c68317c(i18n polish,只包了t(),URL 原样);QuickActions.tsx:39最后一次改动是152bd4561(setup app,只加了/apps/setup前缀),其上一次是f9f9f5157,即把/system/objects改成/system/metadata/object的那次。代码里没有任何注释为
sys-objects保留别名拼法作辩解——与它下一行sys-datasources的长注释形成对照。复核方式
影响面
用户可感,但轻:点「Object Manager」/「Manage Objects」会先落别名再
Navigate到规范 URL —— 多一跳、多一次 re-render,浏览器历史里多一格(Back 键行为因此与sys-datasources不一致)。落地页正确,所以不是死链。严重度按纪律不自评,留给分诊:#3660 已经把同一形态判为值得修,而这三处是它围栏外的同族残余。
关联
sys-datasources的那一轮,本单是它漏下的紧邻一行。MetadataRedirect/ObjectRedirect同型改写。ROADMAP.md单文件,故只报不改)。已就关键词(
sys-objects、system/metadata/object、QuickActions、redundant hop、sidebar / 别名)搜过本仓 issue:相关单(#3610 / #3639 / #3661 / #3669)均已关闭,无同源开放单。Generated by Claude Code