Repository navigation
fix(lark): compact empty-state help and restore progressive coverage - #7289
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max (host-recorded Turn; active_turn_verified=false).
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
使用设置中 Lark 页的用户,在空应用档案或空连接列表中查看可选帮助。 原来一行说明继承 130px 空卡片高度,展开后出现大片居中留白;现在同一说明紧随标题排版,图标入口和关闭方式保持。 打包页面已验证两个空态帮助可通过聚焦和点击读取,窄屏展开紧凑,未知、失败与确认零项仍能区分。 本次不重写健康检查、配置和权限规则,也不把整个连接设置表单或已安装版本认定为完成改版。 连接页上方较长的私聊设置说明仍属于现有前端整理范围,本次只完成两个空态帮助及其既有回归路径。
改动思路
展示问题由两个调用者错误沿用空卡片类造成;移除该类即可复用 ContextHelp 的字号、间距和交互,无需增加全局覆盖或状态。 本 PR 交付空应用档案和空连接帮助的紧凑排版,以及同一 progressive-loading 场景的可访问回归;不扩展后端协议。 不改动会保留真实视觉缺陷;只把旧测试改到能通过也不够,第一次修正后的测试确实通过,但截图中的短句仍被大块留白包围。此次进一步移除调用者旧类和孤立选择器,由共享帮助组件继续负责聚焦、点击及 Escape。目录加载、独立健康检查和刷新取消沿用现有所有者,未新增缓存、覆盖规则或状态。普通用户没有增加必须回答的交互轮次,帮助阅读仍为自愿操作。
具体改动
规范基准为 docs/development/design.md,固定版本 8a718ca。按 earn-the-users-attention 核对空摘要随内容尺寸,explanations-on-demand 核对完整说明经共享图标按需读取,populated-page-review 核对桌面混合状态、窄屏展开和连接页下部。三项均在本次两个帮助调用者范围内实现;不把它们推演为整份设置表单重构验收。
关键代码讲解
apps/presentation/dashboard/src/features/personal-workspace/lark-settings-page.tsx:573的空应用分支保留加载、错误和空集条件,只去掉段落旧类。加载或失败时仍没有确认空集图标;打开帮助也不会发起新的核验或修改配置。- 同文件612行的空连接分支采用相同段落;
apps/presentation/dashboard/src/features/personal-workspace/personal-workspace.css:801只移除已经失去调用者的空态选择器,加载区域原有布局保留。全仓调用者搜索没有发现需要兼容该类的独立消费者。 examples/personal-workspace-browser/progressive-loading.mjs的verifyLarkLoading沿用已有场景:先读取配置,再观察快、慢和失败档案,刷新后拒绝旧代结果。确认零项后改为聚焦图标、Escape关闭、390px点击展开,并核对两个帮助都没有空卡片最小高度;随后继续验证失败读取与原位恢复。没有新增重复测试入口、生产抽象或权限状态。
对主干的风险
主要风险是为了简洁而误把未知变成零、隐藏失败,或者只检查可访问名称却忽略实际展开排版。原始样式反例在真实打包页面上以 Optional help inherited full empty-state spacing 退出1;修复后完整场景9.09秒通过。API响应为合成数据,真实执行的是编译后的页面、共享帮助组件和浏览器交互。119项现有HTTP/提供方测试通过,提供方IO为替身;生产构建与TypeScript检查、JS语法及31份CSS样式表检查通过。
标准premerge的4个直接检查和8个选择检查全部通过,仍以退出1保留四张PNG的人工检查项;逐张查看像素和元数据后未见私有内容,未把机器结果改写成自动全绿。单独共享registry检查还报告两条与本次差异无关的既有Goal权威存储问题,其源码公开边界扫描已完成且干净。CQR通过;按当前Goal策略不查询或等待CI。无新增默认开关、写入权限、协议版本或持久状态,回滚不需要迁移。
我的整体评价
本次为 justified_increment:完成了可独立使用、测试和回滚的两个帮助调用者修复,较大的设置说明整理仍留在现有前端工作中。long_horizon 为 preserved:晚到读取、失败后的重试及后续覆盖均保留;user_experience 在该范围为 improved。桌面混合核验卡片的读数、未知状态与刷新入口清楚;390px 展开空态后说明直接接在标题下,消除了原来的居中留白,完整说明仍在同一图标内可读。 未验证本次提交的原生 WebView 安装,也未做真实账号故障注入;连接表单上方既有长说明的整体重排不在本 PR 验收结论内。
实际检查包含连接页上方仍较长的私聊设置说明,因此结论仅针对这两个帮助段落,未用折叠、缺失内容或单一安静截图冒充全页完成。无需额外兼容层或全局样式覆盖。对固定head f61d489 无阻塞发现,支持在既有授权与独立merge-readiness满足后合并。
English verdict: APPROVE — f61d489. Two existing Lark empty-help callers now use content-sized shared disclosure styling; the complete packaged progressive/recovery scenario and the original-style counterfactual establish the bounded fix. Build, focused owner suites, CSS checks and standard local premerge checks pass; raster holds were manually inspected. Live-provider failures, native installation of this head and the larger setup-form redesign remain unqualified.
When Lark has no app profiles or matching Goal connections, its optional help still inherited the old 130px empty-card layout. A one-line explanation became a large centered panel. Both callers now use the shared ContextHelp paragraph layout; the unused empty-card selector is removed.
The existing progressive-loading scenario also waited for that hidden paragraph to become visible. It now opens the accessible help with keyboard focus and narrow-screen tap, checks compact sizing for both helpers, and retains catalog/probe counts, unknown-versus-zero, late-result cancellation and failed-read recovery checks. The independent health-loading behavior introduced in #6879 is reused.
Validation: production Chat build/typecheck, JavaScript syntax, CSS token checks, and the complete packaged progressive-loading scenario (9.09s). Its new sizing assertion fails against the original product CSS. The current Lark HTTP/provider suites also pass (119 tests); provider failures use synthetic IO. Source text passed the public-boundary scan; the four images below use synthetic data and were inspected for content and metadata. Required premerge and exact-head review results follow separately.
Visual evidence
Tested product tree:
f61d48981(same source inputs as the build). Packaged Chat in Chromium, desktop 1512×982 and narrow 390×844; synthetic settings data. These captures do not claim an installed release or live-provider failure test.The default view keeps its count and help icon. Expanded help now reads directly beneath its heading. Ready, pending and unavailable verification remain separate, and refresh remains available:
The connection view still contains the existing longer private-conversation setup instructions above the empty collection. This PR fixes the two empty-help callers; it does not qualify a redesign of that setup form. App configuration, permission checks, health workers and mutation behavior are unchanged.