Skip to content

fix(web): 整理主题材质并修复工作区面板交互 - #300

Merged
Qiyuanqiii merged 6 commits into
mainfrom
fix/web-interaction-and-branding
Oct 11, 2026
Merged

Qiyuanqiii merged 6 commits into
mainfrom
fix/web-interaction-and-branding

Conversation

@Qiyuanqiii

@Qiyuanqiii Qiyuanqiii commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

文件与终端面板在会话区域足够宽时并排停靠,用户可以继续阅读、输入和用 Tab 切换到主界面;会话区域不足 960px 或进入 Inspector 时,使用挂载到 document.body 的模态抽屉,保持完整高度、焦点约束和关闭后的焦点返回。

主题明确分为浅色、深色、雾透。雾透恢复 #295 前的灰蓝背景透色,输入框使用轻填充、细边和小阴影,去掉整面斜向反光与底部重复叠色;深色接替原玻璃主题的浓深材质,替换旧黑色配色。浅色材质保持不变。设置缩略图复用实际主题变量,保留 light/dark/glass 存储值和降低透明度、系统高对比回退。

交互与布局修复:

  • 外部点击在 click 冒泡阶段关闭菜单,目标按钮先完成操作。
  • 确认框和字体许可弹窗统一挂载到 document.body,移除调用方重复的 Portal;保留嵌套网络确认流程。
  • 修复隐藏侧栏按钮的点击范围、代码复制按钮对齐、输入框底部控件高度和设置页负边距。
  • 文件预览按面板宽度换行,保留缩进和原始行号;切换停靠面板与窄屏抽屉时保留正在查看的文件。
  • 将用户可见品牌统一为 Universal-Code,并同步生成的 OpenAPI 文档。

Windows 打包验证在 WebView2 清理已枚举的缓存文件时重新扫描目录,同时检查新生成的文件;文件锁和其他不可读证据仍报错。就绪检测至少完成一次实际观察,避免超时前未进入检查循环而误报数据库未启动。Windows 沙箱测试共享的命名互斥锁已存在时,继续等待并取得锁,修复并行包测试误报“文件已存在”的问题。

验证:

  • 最新提交 b147d57 的 GitHub 验证完成:主 CI 22 项、Desktop release 4 项全部通过;产物证明与正式发布两个步骤按 PR 条件跳过。
  • 菜单、确认框、权限控件、会话布局、设置和品牌的 12 个相关 Vitest 文件、196 项测试通过;导航与文件预览后续验证共 88 项通过。
  • Windows 打包就绪与证据扫描的 14 项定向检查通过,覆盖缓存删除与替换、非缓存文件消失、文件锁、原生窗口与超时分类。
  • Windows 命名互斥锁的定向测试复现原失败后通过,并接入 Windows CI。
  • 本次主题调整的外观与设置两个测试文件、13 项测试通过;TypeScript 与生产构建通过。API schema、Go buildinfo 与 OpenAPI golden 已在对应改动阶段通过。
  • 浏览器核对 1440×960、800×900、390×844 的工作区布局与面板交互;雾透在 1440px 和 390px 检查主题切换、保存与刷新恢复、键盘焦点、菜单、降低透明度与系统高对比颜色。输入框没有水平溢出。
  • 同数据、同背景下,深色的主要计算样式与原玻璃主题一致,浅色对应材质未变。主题截图使用真实前端和固定灰蓝背景,原生 Windows 壁纸合成需在桌面应用中观察。

Refs #299

Qiyuanqiii and others added 2 commits October 11, 2026 11:44
- 修复全局 pointerdown 监听器在外部点击时抢先卸载 DOM 导致目标按键 click 事件被浏览器丢失的问题
- 为 V2ConfirmDialog 和 FontLicenseControl 增加 createPortal(..., document.body),解除 backdrop-filter 导致的包含块锁定陷阱
- 修复侧栏透明归档按键缺少 pointer-events: none 导致误触并截胡对话切换的问题
- 为代码块复制按钮增加 margin-left: auto 恢复右上角对齐
- 调和 Composer 底部操作条选择器冲突,统一高度、padding 与垂直对齐
- 消除设置页导语的负外边距脆弱性,使用标准流式间距
- 全站规范化产品名为 Universal-Code,修正 README 图标 alt 乱码与构建元数据

Fixes #299

Co-authored-by: Gemini <200291788+gemini-code-assist@users.noreply.github.com>
Integrate the main branch reading hierarchy and neutral theme. Dock files
and terminals when the conversation has room, preserve modal behavior in
narrow layouts, and let keyboard focus leave nonmodal panels.

Dismiss menus after target clicks, retain dialog portal and branding fixes,
and synchronize the generated OpenAPI document with the product name.

Co-authored-by: Gemini <200291788+gemini-code-assist@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
@Qiyuanqiii Qiyuanqiii changed the title fix(web): 修复前端按键单次点击失效、对话框包含块约束与产品名/样式错位问题 fix(web): 修复菜单交互并收敛文件与终端面板 Oct 11, 2026
Qiyuanqiii and others added 2 commits October 11, 2026 14:34
Fit long source lines inside narrow panels while keeping source line numbers
and indentation. Keep the selected explorer path when switching between a
docked panel and a modal drawer.

Load the settings module before testing task navigation so CI module startup
does not consume the element-query timeout.

Co-authored-by: Codex <codex@openai.com>
Restore the cool translucent workspace as Mist, lighten its composer, and
replace the old dark palette with the existing neutral glass material.
Use actual theme tokens in the appearance previews while preserving the
stored light/dark/glass values and accessibility fallbacks.

Co-authored-by: Codex <codex@openai.com>
@Qiyuanqiii Qiyuanqiii changed the title fix(web): 修复菜单交互并收敛文件与终端面板 fix(web): 整理主题材质并修复工作区面板交互 Oct 11, 2026
Qiyuanqiii and others added 2 commits October 11, 2026 16:46
Re-enumerate the evidence root when WebView2 removes an enumerated cache
file, including any replacement files in the scan. Keep failures for locked
or inaccessible evidence and missing files outside the cache.

Always perform the first readiness observation before classifying timeout.
Cover cache rotation, replacement sentinels, file locks and exhausted
readiness polling with deterministic Windows fixtures.

Co-authored-by: Codex <codex@openai.com>
Treat ERROR_ALREADY_EXISTS as a successful named-mutex open, then wait
for the owner as intended. Cover the existing-object path in Windows CI.

Co-authored-by: Codex <codex@openai.com>
@Qiyuanqiii
Qiyuanqiii merged commit 21a3279 into main Oct 11, 2026
28 checks passed
@Qiyuanqiii
Qiyuanqiii deleted the fix/web-interaction-and-branding branch October 11, 2026 09:29
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