fix: 消除会话列表解析阻塞并按需加载工具详情

This commit is contained in:
shiyue
2026-10-19 10:58:22 +08:00
parent fb2c3360c9
commit 99cc807f4b
35 changed files with 1468 additions and 214 deletions

View File

@@ -0,0 +1,10 @@
# 发现
- 初始工作区干净;当前 main 提交 fb2c336。
- codebase-memory-mcp 索引 home-cc-web 状态 ready。
- 图片预览入口为 public/app.js 的 openFileBrowserFile / showFileBrowser。
- 已有鉴权图片接口,沿用当前图片格式白名单与资源释放策略。
- 已找到 openAttachmentPreviewModal 现成弹层,消息附件与 createAssistantImageElement 均调用它;当前没有图库切换或缩放平移。
- 将扩展已有弹层的文件图库模式,保留消息图片原有行为。首尾禁用对应箭头,支持按钮、方向键与移动端触控按钮。
- 已完成图库模式:复用 openAttachmentPreviewModal,文件图鉴权来源按需加载,SVG data URL,Blob 在切换/关闭时释放。
- 已验证首尾禁用、目录仅筛选图片、单图状态、手机 44px 按钮和全视口适配,Escape 捕获避免关闭底层浏览器。

View File

@@ -0,0 +1,13 @@
# 进展
- 2026-10-17:启动文件图片全屏查看和目录切图任务;完成索引与初始状态检查。
- 已将 app.js / style.css / regression.js 的实现委派给 gallery_implement;主线程准备独立服务上的真实浏览器验证。
- 已确认本机 Chromium 149 可直接运行,无需安装浏览器或依赖。Firefox 包装命令超时,改用现有 Chromium。
- FastCtx 文件输出预算过小且目录遍历耗时;定位优先使用代码索引,具体测试准备按需用终端补充。
- 实现完成:复用附件弹层的全视口模式,添加同目录图片按钮、方向键、页码、首尾禁用、焦点恢复与请求清理。
- 实现代理已通过 file-browser-image、file-preview-encoding、frontend-asset-version 三项专项回归及语法检查。
- 隔离浏览器已成功登录并打开真实图片预览,正在继续图库交互验收。
- Chromium 真实浏览器验收完成:点击打开、按钮和方向键切换、SVG、首尾与单图状态、手机尺寸、Escape 分层关闭、焦点恢复、快速翻页及 Blob 清理共 20 项断言通过。
- 浏览器测试屏蔽了无关外部 CDN/字体并为 Markdown 渲染提供空会话所需替身,图片请求、DOM、样式与鉴权均使用真实项目实现。
- 初次浏览器模拟点击不聚焦、Enter 模拟不产生原生激活,已改为真实鼠标事件后验证焦点恢复通过,未因此修改产品代码。
- 测试结果 /tmp/ccweb-gallery-e2e.265atk/result.json,桌面与移动端截图已人工查看;本轮没有重启、打包、提交或推送。

View File

@@ -0,0 +1,21 @@
# 文件预览全屏与目录切图
## 目标
点击文件浏览器里的图片,复用现有图片查看器全屏查看,支持当前文件夹内前后切图。
## 阶段
1. 确认现有查看器与文件列表数据接口:完成。
2. 接入全屏预览与同目录切换:完成。
3. 验证桌面、移动端与资源释放:完成。
## 验证结果
- 三项专项回归、两项语法检查和 git diff --check 均通过。
- Chromium 149:1440×1000 桌面与 390×844 手机视口共 20 项交互断言通过,页面无未捕获异常。
- 截图与临时浏览器脚本保存在 /tmp/ccweb-gallery-e2e.265atk/;独立服务和浏览器已退出。
- 复用既有组件与资源加载惯例,没有新增需要单独扩展规范的模式。
## 约束
- 保持现有鉴权图片接口和目录权限边界。
- 复用现有组件,无新增依赖;按需加载,避免整目录提前下载。
- 沿用用户要求,不做额外审计。
- 本轮只实现与验证,不重新打包、提交、推送或重启服务。