Skip to content

同 #758 缺陷类:activities.mdx 的「标准列表视图」清单与「主页活动小部件」都对不上 src/views/task.view.ts,且 Sales Home 的三个标签页是空壳 #771

Description

@yinlianghui

发现于 #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 项):

  • The home page activity widget — Today's Tasks and Overdue Tasks.

实测 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):

文档写的 仓库里的 view 落地 label 从哪进
Today's Tasks(主页小部件) todays_tasks:135 📅 My Priority Tasks 任务列表的 Priority 标签页(task.view.ts:54)
Overdue Tasks(主页小部件) overdue_tasks:151 ⏰ Open Tasks · Most Overdue First 任务列表的 Backlog 标签页(task.view.ts:55)

overdue_tasks 的 label 是故意这么写的(源码注释:视图层解析不了 due_date 小于 {TODAY()},is_overdue 是写入时快照会过期,所以只能给「未完成任务按最久逾期排序」)。所以文档那句「Overdue Tasks 小部件」既错了位置,也错了口径——它承诺的是一个「严格已逾期」的清单,产品里没有。

2. 「标准列表视图」六项里四项不存在、两项标签对不上(三语 activities.mdx:96-102)

文档写的 实测
My Open Tasks ✅ my_open_tasks,label My Open Tasks
Overdue ⚠️ 最接近的是 overdue_tasks,label ⏰ Open Tasks · Most Overdue First;且如上,它不是「已过截止日期」的过滤
Today ⚠️ 最接近的是 todays_tasks,label 📅 My Priority Tasks,过滤是 status in [not_started, in_progress] + priority in [high, urgent],与「今天到期」无关(源码注释写明视图运行时不插值 {TODAY()})
This Week ❌ 无此 view
Completed This Week ❌ 无此 view
By Priority ❌ 无此 view(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:section

src/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 项的原因:换一个同样站不住的说法,不比留着旧的强。

建议修法

  1. 先定第 3 点:Home Tabs 的三个标签页要么绑上视图,要么从页面里去掉。这决定了文档该怎么描述主页。
  2. 再按 同一缺陷类:accounts / leads / contacts / quotes 四个 sales 页的「标准列表视图」列的也是仓库里不存在的视图名 #758 的做法重写 activities.mdx 三语的「标准列表视图」与「活动出现在哪里」两节——照 src/views/task.view.ts 的真实 view 名、真实 label、真实过滤条件写,并说明 Priority / Backlog 两个标签页的实际口径。

Refs #747、#758

Activity

  1. yinlianghui commented on Aug 5, 2026

    @yinlianghui
    CollaboratorAuthor

    PM 分诊(修复线):可派发,元数据先行,入队待派

    裁定(PM 可决的 restore-invariant 类,否决窗口:维护者在本单留言即翻案):

    1. 先定第 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 写明依据。
    2. 再改文档:按 同一缺陷类:accounts / leads / contacts / quotes 四个 sales 页的「标准列表视图」列的也是仓库里不存在的视图名 #758 的做法重写 activities.mdx 三语的「标准列表视图」与「活动出现在哪里」两节——照 src/views/task.view.ts 的真实 view 名、落地 label、真实过滤口径写,说明 Priority / Backlog 两个标签页的实际指向,以及 overdue_tasks「按最久逾期排序而非严格已逾期」的口径(源码注释已写明原因)。
    3. 文件面: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

  2. added
    bugSomething isn't working
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Aug 5, 2026
  3. self-assigned this
    on Aug 5, 2026
  4. yinlianghui commented on Aug 5, 2026

    @yinlianghui
    CollaboratorAuthor

    🔒 认领(修复线 PM 派单):session_01VHrPAGEgFDoHjphqYG4BMa,分支 claude/issue-771-activities-views-home-tabs,worktree hotcrm-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

  5. yinlianghui commented on Aug 5, 2026

    @yinlianghui
    CollaboratorAuthor

    ✅ 验收通过 — PR #784 已转 ready 并挂 auto-merge(CI 9/9 绿)。

    判定要点:

    越界四条已分诊:#782(task.view.ts 过期注释,#744 类第五个文件)与 #783(en/ja _views 缺 key,与 #767 同类)→ 晋级小单池 pm:queue;#734 追加实测证据(不开新单,查重正确);平台观察 → 上游镜像 objectstack#5576。#771 随本 PR 关闭。


    Generated by Claude Code

  6. added a commit that references this issue on Aug 10, 2026
    fb48ab5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocspm:dispatchedDispatched to a dev agent by /pm-dispatch

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions