Skip to content

[17.0-rc2验收] sales_home_page / app_launcher_page / utility_bar_page 多个组件渲染为「Component Placeholder」,首页欢迎语用户名插值为空 #734

Description

@yinlianghui

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:searchapp:launcher → 整页两个 Component Placeholder
Utility Bar(utility_bar_page) page/utility_bar_page global:notificationsglobal: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:menuglobal:searchglobal:notificationsapp: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 闭合枚举的一等成员,这三个页面是该上游缺口的唯一复现,删改即销毁证据。

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmetadataDeclarative metadata — schema, security posture, UI surfacespm:blockedprio:p2Triaged backlog — no near-term schedule

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions