🚀 v1.1.35 更新内容
✨ 新功能
- 多标签页适用范围选择器:开启「启用多标签页」后弹出三选项(仅在单窗口 / 仅在双窗口 / 全部),双窗口模式现支持独立多标签页,选择持久化。
- SFTP SSH 密钥认证:支持密码与 SSH 密钥认证切换,可选本地私钥(.pem / .key / .pub)与密码短语,兼容 OpenSSH / RSA / ED25519 / ECDSA。
- SAF 系统授权访问 Android/data:四级兜底策略,进入失败时显示「系统授权访问」按钮,授权后树形 URI 持久保存。
- SMB 向导「扫描局域网共享设备」:顶部带文字标题的按钮,无需输入 IP 即自动探测局域网 SMB 设备并自动填入地址与共享名。
- 图片查看器拍摄地点显示:顶部显示拍摄 GPS 坐标,无位置信息自动隐藏,点击唤起系统地图。
- 图片编辑器「清除元数据」:字节级无损剥离 EXIF / GPS / ICC,不重编码、不损失画质。
🐛 问题修复
- 快传大文件接收卡死 / 闪退:接收端改为 Uint8List 分块队列 + TCP 背压水位(8MB / 1MB),≥1GB 文件稳定接收。
- 图片查看器「无 EXIF 却误显示拍摄参数标题」:标题仅在含实际拍摄参数字段时显示。
- 多标签页设置缺陷修复:接入范围选择弹窗、仅在开启时弹出、3 处硬编码中文改多语言。
- 构建失败(Java 堆内存不足):将 gradle -Xmx 从 1536M 提升至 6144M。
🎨 优化
- 快传分块缓冲 + TCP 背压:内存占用稳定,≥1GB 文件不再卡死。
- 清除元数据字节级剥离:结果确定且不损失画质。
- SMB 扫描与向导复用同一过滤逻辑:行为一致。
🚀 What's New in v1.1.35
✨ New Features
- Multi-tab pane scope selector: enabling "Multi-tab" pops a 3-option dialog (Single window only / Split window only / All); split mode now has its own tabs; selection persists.
- SFTP SSH key auth: switch between password and SSH key; pick a local private key (.pem / .key / .pub) with optional passphrase; compatible with OpenSSH / RSA / ED25519 / ECDSA.
- SAF system authorization for Android/data: four-tier fallback; a "System authorized access" button appears on failure; the tree URI is persisted after grant.
- SMB wizard "Scan LAN devices": a titled top button auto-discovers LAN SMB devices without IP entry and auto-fills host and share name.
- Image viewer shooting location: the top bar shows capture GPS coordinates and auto-hides when none; tap to open the system map.
- Image editor "Clear metadata": byte-level lossless strip of EXIF / GPS / ICC without re-encoding or quality loss.
🐛 Bug Fixes
- Quick Transfer large-file crash: the receiver now uses a chunked Uint8List queue + TCP backpressure (8MB / 1MB watermark); files ≥1GB are received stably.
- Image viewer wrong EXIF title: the title now shows only when real capture-parameter fields exist.
- Multi-tab settings fixes: wired the scope picker, pops only when enabling, and localized 3 hardcoded Chinese strings.
- Build failed (Java heap space): raised gradle -Xmx from 1536M to 6144M.
🎨 Improvements
- Quick Transfer chunked buffer + TCP backpressure: stable memory, no freeze on ≥1GB files.
- Clear metadata byte-level strip: deterministic and lossless.
- SMB scan reuses the same filter logic as the wizard: consistent behavior.