1. 14 Apr, 2026 2 commits
    • 根因:
      - refresh_history 每次调用都 history_list.clear() + 重建全部条目
      - 每条加载 2K PNG 原图做 QPixmap (~16MB 解码) 再缩到 120x120
      - 106 条历史 × 16MB = ~1.7GB 瞬时内存峰值
      - macOS 内存压力触发 SIGKILL,不可被 faulthandler 捕获
      - 日志里只有 "开始刷新" 没有 "加载到 N 条",确认死在 clear()/load 之间
      
      修复:
      - HistoryManager 新增 thumb_path_for + get_or_create_thumbnail:
        用 PIL 生成 240x240 JPEG 缓存到 <record_dir>/thumb.jpg,
        基于 mtime 判断是否重新生成
      - save_generation 保存原图后顺便生成缩略图 (失败不影响主流程)
      - refresh_history 只加载 thumb.jpg, 内存峰值从 1.7GB → 6MB (280x 下降)
      - 缩略图生成失败用占位图兜底, 不回退加载原图 (防回到危险路径)
      - 首次升级会为 106 条存量一次性补生成 thumb.jpg (PIL 串行 ~32MB 峰值, 安全)
      
      附加:
      - refresh_history 增加 "刷新完成" 收尾日志, 便于下次若再崩定位死亡位置
      
      跨平台: 纯 PIL + pathlib + Qt 标准 API, Windows 零回归
      
      Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
      柴进 committed
    • 粘贴闪退 (macOS 26):
      - _safe_get_clipboard_image 在 Darwin 上禁用 mimeData.imageData() /
        clipboard.image() / application/x-qt-image 三条 native crash 路径,
        统一走 image/* 原始字节 + osascript PNGf 兜底
      - DragDropScrollArea.dropEvent 的拖入图像分支同步做平台分流
      - Windows/Linux 路径完全保留,零回归
      
      长时间运行闪退:
      - init_logging 改用 RotatingFileHandler (5MB × 5),避免日志无限增长
      - 启动时清理超过 24 小时的 clipboard_*.png 遗留临时文件
      
      Gemini 返回空图片:
      - response_modalities 加上 TEXT,允许模型回传拒绝理由
      - response.parts 增加 None 保护,修复日志里 20+ 次
        'NoneType object is not iterable' 异常
      - 错误上浮 finish_reason + 模型说明到 QMessageBox
      
      缩略图拖拽重排:
      - 新增 DraggableThumbnail + THUMB_REORDER_MIME 内部协议
      - 缩略图可拖动调整顺序,reorder_image 正确处理左右移动的索引
      
      Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
      柴进 committed
  2. 19 Mar, 2026 3 commits
    • 根因: PIL/_imaging.so 依赖 libtiff.6.dylib,但 PyInstaller 默认未收集。
      修复: 添加 --collect-all PIL 确保所有 Pillow 原生库(.dylib/.so)被打包。
      同步更新 Windows 打包脚本。
      
      Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
      柴进 committed
    • build_mac_universal.sh 是严格超集:自动检测架构、自动安装依赖、错误处理更完善。
      
      Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
      柴进 committed
    • - faulthandler: segfault 时自动输出 Python 调用栈到 crash_log.txt
      - 全局 sys.excepthook 捕获未处理异常
      - Qt 消息拦截器捕获 QtWarning/Critical/Fatal
      - 启动阶段打桩 [BOOT Phase 0~8]
      - 主窗口初始化打桩 [INIT 1/6~6/6]
      - QImage.save 崩溃高发点前后日志
      - 系统环境信息记录(OS/Python/Qt/Pillow 版本)
      
      Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
      柴进 committed
  3. 02 Mar, 2026 1 commit
  4. 28 Feb, 2026 9 commits
  5. 27 Feb, 2026 2 commits
  6. 15 Jan, 2026 1 commit
  7. 13 Jan, 2026 2 commits
  8. 18 Dec, 2025 2 commits
  9. 12 Dec, 2025 2 commits
  10. 11 Dec, 2025 9 commits
  11. 10 Dec, 2025 7 commits