Skip to content

修复历史与拖拽问题,完善图像工作流并优化客户端性能 - #60

Merged
DR-lin-eng merged 7 commits into
RoseKhlifa:mainfrom
DR-lin-eng:codex/issue-audit-20261006
Oct 6, 2026
Merged

DR-lin-eng merged 7 commits into
RoseKhlifa:mainfrom
DR-lin-eng:codex/issue-audit-20261006

Conversation

@DR-lin-eng

@DR-lin-eng DR-lin-eng commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

大量出图后,历史记录可能被可见列表截断或清理;批处理队列在两轮之间可能提前结束,失败提醒和 Windows 原生拖出也存在缺口。本 PR 保留完整历史,统一任务结算、失败反馈与拖拽,并完善上游/蒙版工作流和客户端性能。

改动

  • 按 provider 探测上游并持久化配置,完善请求模型职责、Google/Grok 原生协议与 Images 兼容路径。
  • 改进蒙版导入、绘制、归一与合成,以及参考图、预览和工作区状态处理。
  • 移除历史截断与按可见列表删除档案的行为,完善时间戳/ID 分页、导入导出、旧库清理和跨客户端配置同步。
  • 修复批处理队列间隙与提交失败计数;并发首次失败提示声音/通知,主动取消保持静默。
  • 五个拖出入口共享鼠标手势与原生拖动,保留 Unicode CF_HDROP,补充捕获释放、超时退出和错误反馈。
  • 按实际字段订阅界面状态,减少整份历史序列化和重复复制,串行写入配置,保留 lazy 模块拆分。
  • 同步最新 upstream/main;平台验证 CI 与 .nvmrc 使用 Node 24,避免 Node 20 直接加载 TypeScript 测试时报 ERR_UNKNOWN_FILE_EXTENSION。

本机验证

  • Node 24:前端 210 项、Worker 5 项测试通过。
  • Go:image-studio、go-cli、gio-client、shared/compat-go 全量测试通过。
  • Windows、macOS、Linux、Android phone/pad 五种前端构建通过。
  • Android:15 项 JVM 单测、debug APK 构建、签名及前端资源完整性检查通过。
  • Windows amd64/arm64 后端交叉编译通过;macOS universal 构建、自签和编译后应用运行时探针通过。
  • 本机 mock upstream direct/Worker 对比、smoke、issue 工具一致性与依赖审计通过。

性能与维护记录

在同一组 1000 条测试历史的微基准中,重复时间戳分页约 2.95s → 0.19s;200 次无关配置检测约 282ms → 0.18ms。初始 JS 体积减少 47.1%,桌面工作区完整启动资源减少 5.7%。这些是本机微基准/资源体积数据,不表示上游推理速度或实际启动耗时同比变化。

根因、维护约束、回归命令和结构化结果:

待目标环境验证

#30 的 Windows 标题栏外观,以及 #52/#55 的 OneCommander/Explorer 拖出与其他应用拖拽恢复仍需实机确认。交叉编译和 fixture 不能代替这些检查;真实收费上游和 Android 真机运行未纳入本机验证。

相关:#24、#30、#44、#49、#50、#51、#52、#53、#55、#57、#58。#14 保留为 Web 产品问答记录。

验证基准

以 DR-lin-eng:codex/issue-audit-20261006 的提交内容和本机验证记录为准。上游 Actions 无法使用,不作为本次提交的完成条件。已通过本机 Node 24 的 210 项前端与 5 项 Worker 测试,其他平台构建、Android 单测和 macOS 启动验证见上述报告。

Audit all 12 open upstream issues and document their implementation and verification status. Preserve complete history across pagination, import/export and clients; add deduplicated failure feedback; keep queued jobs alive between waves; start native file drag from mouse gestures and guard Windows capture cleanup.

Validated 203 frontend tests, 5 Worker tests, all four Go modules, 15 Android JVM tests, Android APK build/signature/manifest/assets, five frontend targets, Windows amd64/arm64 backend compilation, macOS universal packaging/runtime probe, local upstream smoke and issue tooling. Windows visual and OneCommander/capture-release checks remain explicitly documented for target-machine verification.
Gate compatibility exports by persisted field changes, defer archive cloning until the debounce fires, and serialize writes. Seek timestamp ties by primary key while retaining database version 2 and older-webview fallback. Narrow subscriptions in 12 UI regions, cache canvas navigation and sorting, and preserve lazy platform chunks.

Validate 210 frontend tests, five frontend targets, 15 Android JVM tests, APK assets and signature, and the macOS universal build/runtime probe. Record reproducible before/after benchmarks and maintenance constraints in docs/performance-20261006.md.
Use Node 24 for the platform verification workflow and local .nvmrc. Reproduce the Node 20 TypeScript loader failure and verify all 210 frontend and 5 Worker tests under Node 24 before upstream submission.
@DR-lin-eng
DR-lin-eng merged commit 2c47bec into RoseKhlifa:main Oct 6, 2026
1 check failed
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