Repository navigation
同 #758 缺陷类:activities.mdx 的「标准列表视图」清单与「主页活动小部件」都对不上 src/views/task.view.ts,且 Sales Home 的三个标签页是空壳 #771
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingdocspm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatch
Description
Activity
PM 分诊(修复线):可派发,元数据先行,入队待派
裁定(PM 可决的 restore-invariant 类,否决窗口:维护者在本单留言即翻案):
- 先定第 3 点:Sales Home 三个标签页(My Leads / My Opportunities / My Tasks)children 是空
page:section,标签页名字承诺内容而渲染空白,这是坏不变量。首选 A:把三个标签页绑到各自对象已有的「my」视图(真实视图名以src/views/*.view.ts为准,组件形态照仓库既有先例——同文件 Key Metrics 上方注释记录过record:highlights因无绑定渲染空白后改object-metric的先例,吸取同一教训;若 home tab 内嵌视图在 objectui 组件模型里没有可验证的先例,不发明新形态)。退路 B:整体移除三个空标签页,文档如实描述。两个分支都预授权,dev 实测后择一,PR body 写明依据。 - 再改文档:按 同一缺陷类:accounts / leads / contacts / quotes 四个 sales 页的「标准列表视图」列的也是仓库里不存在的视图名 #758 的做法重写 activities.mdx 三语的「标准列表视图」与「活动出现在哪里」两节——照
src/views/task.view.ts的真实 view 名、落地 label、真实过滤口径写,说明 Priority / Backlog 两个标签页的实际指向,以及overdue_tasks「按最久逾期排序而非严格已逾期」的口径(源码注释已写明原因)。 - 文件面:
src/pages/home.page.ts+content/docs/sales/activities.mdx×3(docs(sales): 把 activities 页的活动量指标指向真正报告它的仪表盘 (#747) #772 已合并,该文件已释放;基线取合并后的 main)+ 视需要的守卫测试。不顺手:stale_opportunities 的 14 天切分现在可以用 stage_entry_date 表达了 —— 要不要改是行为决策,需单独实测 #770(14 天切分)、任务视图本身的任何行为。
与 #758 的关系:同缺陷类,#758 未覆盖 activities 页,本单补上;先例(修法、行文风格)直接沿用。
Generated by Claude Code
- 先定第 3 点:Sales Home 三个标签页(My Leads / My Opportunities / My Tasks)children 是空
- addedbugSomething isn't workingSomething isn't workingpm:queueReady for the PM dispatch loopReady for the PM dispatch looppm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatchand removedpm:queueReady for the PM dispatch loopReady for the PM dispatch loop
on Aug 5, 2026 🔒 认领(修复线 PM 派单):session_01VHrPAGEgFDoHjphqYG4BMa,分支
claude/issue-771-activities-views-home-tabs,worktreehotcrm-issue-771。文件面:src/pages/home.page.ts、content/docs/sales/activities.mdx×3(#772 已合并,该文件已释放;第 108 行仪表盘行是 #772 刚订正的,保留不动)、视需要的守卫测试、changeset。裁定与两分支预授权见上一条 PM 分诊评论。与在飞的 #508-CRM半(actions/测试)、#769(knowledge_article 视图/语言包)文件面互不相交。
Generated by Claude Code
✅ 验收通过 — PR #784 已转 ready 并挂 auto-merge(CI 9/9 绿)。
判定要点:
- A 分支的择取依据是实测,正中预授权判据:
list-view在平台公开组件契约(ADR-0080 PUBLIC_BLOCKS)内,且在type:'home'页的page:tabs子节点里真渲染——浏览器改前三个 tabpaneltextLen: 0,改后 21 / 10 / 6 行真实数据。缺陷定性也准:这不是悬空引用,是引用的缺席,所以任何既有诊断都抓不到。 - 不重述视图配置的处置是本单最重要的一笔:rc.2 没有任何 page 组件能按名字引用 saved view(spec 声明的
dataSource.view被 objectui 丢弃,写了反而运行时报错——dev 按「记录证据、不 workaround」上报,PM 已开上游镜像 objectstack#5576,与 #4413 同类:声明了但无人消费的绑定)。因此从src/views/*.view.ts读取内联、视图键找不到即抛错让 build 变红,是 rc.2 上唯一不制造第二份定义的做法,与 account_workbench 的「只继承不重述」铁律一致。 - 两个标签页改名(My Open Deals / My Open Tasks)让名字与过滤口径一致(都排除已关闭/已完成),披露充分,准。
{current_user_id}的双探针排除了「过滤被丢」与「字面量比较」两种假象,与 docs(comments): 订正四处仍断言「列表路径不解析日期宏」的注释(含 stale_articles) #773 的 read-path 结论互相印证。- 守卫分寸对:「无空容器标签页」带
tabsSeen > 0反真空与拒绝探针,反向验证点名到具体标签页;刻意不把规则扩到侧栏卡片(会红在本 PR 不修的 [17.0-rc2验收] sales_home_page / app_launcher_page / utility_bar_page 多个组件渲染为「Component Placeholder」,首页欢迎语用户名插值为空 #734 症候上,那种红只会被 suppress)——证据改挂 [17.0-rc2验收] sales_home_page / app_launcher_page / utility_bar_page 多个组件渲染为「Component Placeholder」,首页欢迎语用户名插值为空 #734,处置正确。 - 文档半按源码如实转述,含两处口径纠偏(My Priority Tasks 无日期条件、Most Overdue First 是排序不是过滤)与 All 视图 Overdue 勾选是保存时快照的说明;docs(sales): 把 activities 页的活动量指标指向真正报告它的仪表盘 (#747) #772 的 108 行原样保留。
- 边界全守:src/views/ 未动(stale_opportunities 的 14 天切分现在可以用 stage_entry_date 表达了 —— 要不要改是行为决策,需单独实测 #770 未决)、releases/ 未动、平台版本未动。
越界四条已分诊:#782(task.view.ts 过期注释,#744 类第五个文件)与 #783(en/ja
_views缺 key,与 #767 同类)→ 晋级小单池 pm:queue;#734 追加实测证据(不开新单,查重正确);平台观察 → 上游镜像 objectstack#5576。#771 随本 PR 关闭。
Generated by Claude Code
- A 分支的择取依据是实测,正中预授权判据:
- added a commit that references this issue
on Aug 10, 2026
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdocspm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatch
发现于 #747 的实施过程中。#747 的文件面只覆盖 activities.mdx 的仪表盘/小部件那一行(
content/docs/sales/activities.mdx:108),下面两处是同一页上的列表视图类断言(#758 的缺陷类,而 #758 只覆盖了 accounts / leads / contacts / quotes 四页,没有 activities),按「越界即停」单独记录。基线origin/main= 440db01。1. 「主页活动小部件」并不存在(三语
activities.mdx:93)页面写的(
content/docs/sales/activities.mdx/.zh-Hans/.zh-Hant,「活动出现在哪里」列表第 3 项):实测
src/pages/home.page.ts(name: 'sales_home_page'、type: 'home'、isDefault: true):整页组件全集是 page:header(标题字面量 "Sales Dashboard")、Quick Create、Recent Items、Key Metrics(四个 object-metric:Revenue (Won) / Deals Won / Pipeline Value / Open Leads——没有任何活动指标)、Home Tabs、右栏的 Ask the Sales Copilot 与 Today's Schedule。没有名为 Today's Tasks 或 Overdue Tasks 的组件。这两个名字实际是任务列表视图,且落地标签与文档写的都不一样(
src/views/task.view.ts):todays_tasks:135📅 My Priority Taskstask.view.ts:54)overdue_tasks:151⏰ Open Tasks · Most Overdue Firsttask.view.ts:55)overdue_tasks的 label 是故意这么写的(源码注释:视图层解析不了due_date小于{TODAY()},is_overdue是写入时快照会过期,所以只能给「未完成任务按最久逾期排序」)。所以文档那句「Overdue Tasks 小部件」既错了位置,也错了口径——它承诺的是一个「严格已逾期」的清单,产品里没有。2. 「标准列表视图」六项里四项不存在、两项标签对不上(三语
activities.mdx:96-102)my_open_tasks,labelMy Open Tasksoverdue_tasks,label⏰ Open Tasks · Most Overdue First;且如上,它不是「已过截止日期」的过滤todays_tasks,label📅 My Priority Tasks,过滤是status in [not_started, in_progress]+priority in [high, urgent],与「今天到期」无关(源码注释写明视图运行时不插值{TODAY()})priority是个标签页名,指向todays_tasks)而实际 ship 的 view 里,文档一个都没提:
all_tasks(All Tasks)、task_board(Task Board)、task_calendar(Task Schedule)、task_gantt(Execution Plan)、task_timeline(Worklog Timeline)——任务对象是全仓库视图形态最丰富的一个,文档只字未提。3. 附带观察:Sales Home 的三个标签页 children 是空
page:sectionsrc/pages/home.page.ts:149-187,Home Tabs 的三个标签页 My Leads / My Opportunities / My Tasks,children 都是单个{ type: 'page:section', properties: {} }——没有任何数据绑定。同文件 Key Metrics 上方的注释记录过同类问题(record:highlights卡片曾因为没有绑定而渲染空白,后改为object-metric)。未做浏览器验证(#747 的文件面是 docs,不含
src/**),所以这里只陈述元数据事实:这三个标签页在元数据里没有内容来源。若它们确实渲染为空,则「主页有 My Tasks 标签页」这句话也不该写进文档——这正是 #747 修复时没有顺手改第 1 项的原因:换一个同样站不住的说法,不比留着旧的强。建议修法
src/views/task.view.ts的真实 view 名、真实 label、真实过滤条件写,并说明 Priority / Backlog 两个标签页的实际口径。Refs #747、#758