Skip to content

fix(workspace): keep source state and folded actions readable - #7376

Merged
loopx-agent merged 1 commit into
mainfrom
codex/research-source-reading-20261026
Oct 26, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/research-source-reading-20261026

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Research source names could clip the entire read-only restriction on a phone. The header now keeps that restriction visible, truncates only a long name, and opens its full identity and existing execution boundary through shared hover/focus/tap help.

The folded composer's actions also inherited a second popup inside its scrollable menu, placing phone shortcuts outside the reachable surface. Remove that obsolete inner positioning and align the existing single popup to its right-hand trigger. The showcase targets snapshot refresh by its accessible name and checks actual shortcut actionability. Permission, execution, model, measurement and persistence owners are unchanged.

Validation: TypeScript/verified packaged build, CSS token check, complete packaged research-history with disposable real SQLite/HTTP, and packaged goal-showcase including failed read/recovery, desktop/phone, English and motion. Paired source checks cover hover continuity, keyboard/Escape, touch dismissal, long names and unchanged source/no business writes. Prior baseline failures are retained; the corrected refresh selector exposed the actual clipped actions before repair. Eight synthetic images were inspected individually, including metadata; automatic image review is still a manual hold. Installed App adoption and real model/attribution qualification remain open.

Visual evidence: before is immutable source c7710a3 (the same header/composer at baseline 5579287); after is the product source in 2694ff6091f1749323ebda50e410cf8db1622680. These are packaged browser captures of public synthetic fixtures, not live operating context. The long-name case changes only the synthetic source label.

Surface Before After
Desktop research Research before Research after
Phone research Phone before Phone after
Phone quick actions Clipped actions Reachable actions
Requested source detail / long English source Source help Long source

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

在手机上阅读研究或从折叠输入框打开快捷操作的用户。 来源名原先挤掉“只读”,快捷菜单原先被裁到屏幕外;现在限制直接可见,完整说明按需打开,同一菜单中的操作可点。 默认页保留简洁读数和清楚的只读状态;请求详情完整可读,折叠输入框的快捷操作在窄屏可到达。 本次不改变来源权限、模型调用、预算、持久状态或研究指标,也不代表已安装生效。 真实安装版的完整阅读/引用往返和真实输入归因仍沿原任务继续。

这是对既有可读工作台的完整局部修复,不能据此宣称整个前端、研究效果或正式 App 验收完成。独立基线重现了来源限制被裁掉,以及元素存在但快捷操作无法点击;仅检查文字和 DOM 可见性会漏掉这些问题。

改动思路

沿已有来源标签、ContextHelp和ComposerActions修复展示;删除旧内层定位,让一个现有面板负责滚动与关闭,避免新状态、配置或第二套菜单。 仅修复共享来源状态与折叠菜单的可读/可达性,并补原有整页回归;分析语义、原生安装与真实归因保留原边界。

不改动来源权限判断、消息发送、配置、模型、预算或证据归属;不增加导航、设置步骤、必须确认或提示墙。只增大徽标宽度仍不能提供触屏/键盘说明,单纯增加 z-index 也无法越过内层滚动裁切。因此保留共享帮助和现有菜单 owner、删除旧定位,比加入新组件或固定偏移更合适。

具体改动

基于 设计规范,spec_ref docs/development/design.md,spec_revision 55792873b96727c09f8cbf2d56d8ca7d2659e22b,逐项核对 explanations-on-demand、research-workspace、forms、populated-page-review。

ChannelHeader.runtimeControl 为同一只读来源复用 Eye + ContextHelp;单独名称 span 承担省略,只读状态不参与收缩。删除132px窄屏限制,使用既有主题 token。名称与状态仍来自原 typed source,完整解释没有删改。

折叠菜单样式 删除旧内层弹层及重复分组规则,现有 ComposerActions 只保留一个有高度边界的滚动面板,折叠加号在右侧时面板靠右。展开输入框的原 owner 和操作 callback 均保留。

原 research-history 新增可见文字边界、中文/英文帮助与 Escape 焦点检查;原 goal-showcase 按“刷新快照”定位真实恢复操作,保留错误/恢复原断言,再以 trial click 和原命中判断验证快捷项,而非用 isVisible 代替可操作。没有另建一次性公共脚手架。八张公开截图均来自合成资料,逐张检查像素、来源和 PNG 元数据。

对主干的风险

风险集中在共享头部的空间和折叠菜单定位。已比较桌面1440与390、中英文长名称,检查完整帮助、正常来源与只读来源、失败重试、键盘/触摸、原始证据和后续返回。来源基线中限制文字右缘203.27超出徽标右缘146;修复后在徽标内部。菜单基线 x326、宽306,390屏幕上没有命中;修复后的同一操作通过 trial 和命中检查。

完整打包 research-history 180862ms、goal-showcase 3275ms通过,TypeScript/打包、CSS token、RFC/差异及本地 premerge 的4项直接检查和8项选中检查没有自动失败,CQR有效。原先错误的首按钮定位及基线真正菜单失败保留,不把早期失败改写成通过。前者已改为实际操作名称,后者由删除重叠布局修复。CI依当前策略未查询。八张二进制图仍是自动 manual_review_required,此处人工检查不冒充自动图审或授予合并权限。

我的整体评价

结论 APPROVE,准确 head 2694ff6091f1749323ebda50e410cf8db1622680。交付判断为 justified_increment;long_horizon 为 preserved,user_experience 为 improved。已分别检查默认研究页、完整来源帮助、长名称英文页和窄屏快捷菜单;主要读数与未知状态没有让位给说明,展开文字完整,快捷操作由不可点变为可点。另读当前完整研究回归的长问题/混合判读及下部证据,未把无溢出断言当作视觉结论。

代码量与问题相称:一套来源标签、一套共享帮助、一套既有菜单;没有新增持久状态、协议或兼容分支。已应用同域可逆简化,删除重复弹层定位。没有 default-off 声明或新的 authority/状态语义。正常浏览、帮助和菜单打开仍不调用模型、不启动工作,也不改变未知、失败和实际来源。

尚未核验运行中的原生 App 采用本提交、真实私人 Goal 全部往返、真实模型输入归因或长期收益;截图及后端状态均为合成隔离验证。 该限制保留在原研究与安装验收中;本次评审仅认可经验证的源码/打包可读性改善。首屏与前后比较直接位于 PR 描述,普通方向内细化无额外确认轮次。

English verdict: APPROVE — 2694ff6091f1749323ebda50e410cf8db1622680 fixes clipped read-only source state and unreachable folded actions through existing UI owners. Paired baseline/head browser evidence, full packaged research/showcase regressions and local checks pass; eight image holds were manually inspected. Installed/native and real model attribution remain unverified.

@loopx-agent
loopx-agent merged commit c56f553 into main Oct 26, 2026
10 of 12 checks passed
@loopx-agent
loopx-agent deleted the codex/research-source-reading-20261026 branch October 26, 2026 08:30
@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Post-merge readback: immutable merged source c56f55307e87110e54d9a82c868d3649280f22fb was rebuilt and both complete packaged journeys passed: research-history (179614 ms, disposable real SQLite/history HTTP owner) and goal-showcase (3252 ms, populated synthetic UI). The final source and captures match the reviewed paths. Read-only source identity/restriction, complete help, keyboard/touch dismissal, failed-read recovery and reachable folded actions remain covered. Eight binary image holds were manually inspected; this is not an automatic image/privacy pass. Installed App adoption, real model attribution and research benefit remain unqualified.

JasonBuildAI added a commit to JasonBuildAI/loopx that referenced this pull request Oct 26, 2026
…al title

loopx-project#7376 replaced the badge's tooltip with a ContextHelp whose accessible name is
"<source> · <read only>". When the Goal title already names the source the
visible label is deliberately omitted, so that name and the disclosure heading
repeat a title already on screen and announced to assistive technology. The
shipped SSR contract then fails in the required chat-bundle-browser step, which
keeps merge-gate red for every PR whose classification runs core tests.

Name the help by its purpose when the source is already the Goal title, keep
the source in the on-demand disclosure, and scope the smoke assertion to the
badge's persistent label and visible text instead of a raw HTML slice that now
swallows the hidden panel.

Fixes loopx-project#7378

Signed-off-by: JasonBuildAI <jasonbuildai@users.noreply.github.com>
JasonBuildAI added a commit to JasonBuildAI/loopx that referenced this pull request Oct 26, 2026
…al title

loopx-project#7376 replaced the badge's tooltip with a ContextHelp whose accessible name is
"<source> · <read only>". When the Goal title already names the source the
visible label is deliberately omitted, so that name and the disclosure heading
repeat a title already on screen and announced to assistive technology. The
shipped SSR contract then fails in the required chat-bundle-browser step, which
keeps merge-gate red for every PR whose classification runs core tests.

Name the help by its purpose when the source is already the Goal title, keep
the source in the on-demand disclosure, and scope the smoke assertion to the
badge's persistent label and visible text instead of a raw HTML slice that now
swallows the hidden panel.

Fixes loopx-project#7378

Signed-off-by: JasonBuildAI <jasonbuildai@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant