Blocked-by: objectstack-ai/objectstack#12183
现象
三个随 app 元数据发布的页面(均无导航入口,仅可通过 URL 访问)在 console 中大面积渲染占位符:
| 页面 |
URL(/_console/apps/app.objectstack.hotcrm/page/…) |
占位组件 |
Sales Home(sales_home_page) |
page/sales_home_page |
nav:menu(Quick Create 卡片内)→ 显示「nav:menu / Component Placeholder」 |
App Launcher(app_launcher_page) |
page/app_launcher_page |
global:search、app:launcher → 整页两个 Component Placeholder |
Utility Bar(utility_bar_page) |
page/utility_bar_page |
global:notifications、global:search → Component Placeholder |
另:Sales Home 页头副标题声明为 Welcome back, {current_user.first_name}(src/pages/home.page.ts:44),实际渲染为「Welcome back, 」—— {current_user.first_name} 插值为空(admin 用户 name 为 "Dev Admin",非空)。
Sales Home 的 KPI 卡片(Revenue (Won) 1,290,000.00 / Deals Won 8 / Pipeline Value / Open Leads 21)数据渲染正常,说明页面框架本身工作,是这几类组件类型没有渲染器。
复现
admin 登录后逐个打开上表 URL,截图见验收记录 51-page-*.png。页面主体文本可直接看到字面量「Component Placeholder」以及组件类型名(nav:menu 等)。
期望 vs 实际
- 期望:发布的页面元数据只引用 console 能渲染的组件;或这些 demo 页面不随 app 发布
- 实际:终端用户可通过 URL 到达三个满是脚手架占位符的页面;欢迎语人名为空
落点分析
- HotCRM 侧:
src/pages/home.page.ts / app_launcher.page.ts / utility_bar.page.ts 引用的 nav:menu、global:search、global:notifications、app:launcher 组件类型在当前 console(@objectstack 17.0.0-rc.2)没有实现,渲染为占位符。修复方向:替换为已实现组件、或将这三个 demo 页面从发布元数据中移除/标注。
- 平台侧(参考):console 对未实现组件类型的兜底就是「Component Placeholder」;
{current_user.first_name} 模板插值为空可能与平台 page:header 的变量解析有关,如平台确认支持该 token 则需另查。
环境
hotcrm@0899b4f + @objectstack 17.0.0-rc.2
⚠️ 状态更新(2026-08-25):halves 2 和 3 已由 PR #1219 落地(75cc335d)。剩下的 half 1 已在浏览器实测:四个组件类型仍全部渲染为 Component Placeholder,已按裁定立上游卡 objectstack#12183,本卡转为下游跟踪卡。⛔ 上面「落点分析」里 HotCRM 侧那条修复方向(替换组件 / 移除页面)已被裁定推翻:这四个类型是 spec 闭合枚举的一等成员,这三个页面是该上游缺口的唯一复现,删改即销毁证据。
Blocked-by: objectstack-ai/objectstack#12183
现象
三个随 app 元数据发布的页面(均无导航入口,仅可通过 URL 访问)在 console 中大面积渲染占位符:
/_console/apps/app.objectstack.hotcrm/page/…)sales_home_page)page/sales_home_pagenav:menu(Quick Create 卡片内)→ 显示「nav:menu / Component Placeholder」app_launcher_page)page/app_launcher_pageglobal:search、app:launcher→ 整页两个 Component Placeholderutility_bar_page)page/utility_bar_pageglobal:notifications、global:search→ Component Placeholder另:Sales Home 页头副标题声明为
Welcome back, {current_user.first_name}(src/pages/home.page.ts:44),实际渲染为「Welcome back, 」——{current_user.first_name}插值为空(admin 用户 name 为 "Dev Admin",非空)。Sales Home 的 KPI 卡片(Revenue (Won) 1,290,000.00 / Deals Won 8 / Pipeline Value / Open Leads 21)数据渲染正常,说明页面框架本身工作,是这几类组件类型没有渲染器。
复现
admin 登录后逐个打开上表 URL,截图见验收记录
51-page-*.png。页面主体文本可直接看到字面量「Component Placeholder」以及组件类型名(nav:menu等)。期望 vs 实际
落点分析
src/pages/home.page.ts/app_launcher.page.ts/utility_bar.page.ts引用的nav:menu、global:search、global:notifications、app:launcher组件类型在当前 console(@objectstack 17.0.0-rc.2)没有实现,渲染为占位符。修复方向:替换为已实现组件、或将这三个 demo 页面从发布元数据中移除/标注。{current_user.first_name}模板插值为空可能与平台 page:header 的变量解析有关,如平台确认支持该 token 则需另查。环境
hotcrm@0899b4f + @objectstack 17.0.0-rc.2