Releases: mqflive/syncpan-release
Releases · mqflive/syncpan-release
Release list
SyncPan v0.0.19
[0.0.19] - 2026-07-05
新增
- 官网网站:新增 Next.js 官网(首页 / 下载 / 功能特性 / 定价 / 更新日志 / 免责声明),下载页支持 GitHub API + jsdelivr 自动获取最新版本
- 平台切换+账号选择统一化:新增
PlatformAccountSwitcher组件,文件浏览器、批量工具等页面统一平台/账号选择器,新增pageAccountStore全局状态管理 - LAN 服务器批量命令扩展:
lan_server/misc.rs新增广告插入/清理、批量转存/分享/重命名、链接转换、扫码登录等批量命令(+1290 行),覆盖所有批量工具的 LAN 调用 - 更新时间选择器:新增
AirTimePicker自定义控件,支持每日/每周频率选择 + 时/分弹窗选择,自动滚动到选中时间 - 新增 hooks:
usePageAccount(页面账号管理)、useElapsedTimer(计时器)、useClickOutside(点击外部关闭) - 新增工具函数:
delay-mode-utils.ts(延迟模式计算)、event-listener-manager.ts(事件监听管理)、format.ts(格式化工具) - TMDB 双 API 容灾:
tmdb.rs内置多域名 fallback,主域名不可用时自动切换备用域名
变更
- 聚合任务弹窗重构:
AggregateTaskDialog全面重构(+558/-498 行),重新布局双列配置区,优化交互流程 - 聚合任务子组件重构:
ScheduleConfigPanel、GroupPanel、DeadlinePicker、TmdbSearchButton、useAggregateTaskForm拆分重构,AirTimePicker自定义样式 - 移除设置页重复的功能配置区:删除
AdCleanSection、AdInsertSection、BatchRenameSection、BatchShareSection、RateLimiterSection五个冗余设置子页面(共 -445 行),功能配置已内联到各自操作页 - 存储模块重构:
storage/mod.rs大幅重写(+195 行),优化数据存储架构 - 文件浏览器重构:
FileBrowserPage.tsx+ 子组件统一平台/账号选择逻辑,提取AccountSelector公共组件 - 侧边栏导航重构:
Sidebar.tsx按「核心功能/批量工具」分组,新增账号管理入口 - Store 状态管理简化:各功能 store 移除重复的配置引用,优化类型定义
- 加密模块优化:
crypto.rs重构加解密逻辑 - 全局样式微调:
globals.css暗色模式优化 - 任务页面工具栏重构:
TasksToolbar组件拆分优化
修复
- 批量转存/分享/重命名各页面的 UI 一致性修复
- 文件浏览器暗色模式预览框样式修复
- 各项配置面板边界 case 处理
移除
AdCleanSection、AdInsertSection、BatchRenameSection、BatchShareSection、RateLimiterSection五个设置页子组件
SyncPan v0.0.18
[0.0.18] - 2026-06-28
新增
- 统一防风控策略面板:设置页新增
RiskControlSection组件,集中管理广告插入/清理、批量转存、链接转换、批量重命名、批量分享共 6 个功能模块的风控延迟 + 全局风控策略 - 批量操作独立延迟模式:批量分享/批量重命名新增
delay_mode参数,支持 Fast / Moderate / Conservative 三档随机延迟,含连续失败自动退避机制 - 批量转存/链接转换自定义参数:预设模式支持展开高级参数面板,可独立调整单次间隔、小批次暂停、大批次暂停、智能降速上限
- 全局风控运行时配置:
update_settings联动RateLimiter,支持动态调整批次大小、批次暂停、夜间时段、夜间倍率等参数,即时生效无需重启 - 设置页模块化组件:新增
AdCleanSection、BatchRenameSection、BatchShareSection、RateLimiterSection独立设置区块组件
变更
- 目录树生成增强:重构
generate_tree后端逻辑,优化TreeResultPanel展示、GenerateTreePage布局,扩展generateTreeStore状态管理和树节点类型定义 - 前端组件大重构:ad-clean、ad-insert、batch-rename、batch-share、batch-transfer、link-convert、generate-tree、aggregate-tasks 共 8 个面板组件大幅精简,净减少约 1000 行代码
- Store 状态管理重构:
batchRenameStore、batchShareStore、adCleanStore重构,优化状态结构和事件流 - GUI 全局样式统一:
globals.css统一样式变量,优化Sidebar、FileTable、TasksToolbar等公共组件交互 - 后端清理:移除
quarkclient/service 冗余代码,优化rate_limiter逻辑 - NSIS 安装脚本更新:
hooks.nsh增强安装钩子逻辑
修复
ShareConfigPanel小调整
移除
- 夸克 client/service 中的冗余代码
SyncPan v0.0.17
[0.0.17] - 2026-06-21
新增
- 广告插入功能:批量将广告文件插入目标目录树,支持普通/极速(turbo)模式、暂停/继续/取消,含风控延迟配置
- 我的分享页面:查看百度/夸克上创建的所有分享链接,支持批量按页/天数/日期范围获取、排序、导出 CSV、缓存(IndexedDB)
- 分享列表虚拟滚动:接入
@tanstack/react-virtual,行高 48px overscan=10,万级数据不卡 - IndexedDB 缓存服务:
share-cache.ts替代 localStorage,无容量限制,桌面端/浏览器模式通用,30 分钟 TTL 自动过期 - 分享真实密码获取:百度
surlinfoinrecord接口获取隐藏提取码,MyShareItem新增sign字段 - 批量转存实战页面:多链接批量转存(解析/开始/暂停/继续/停止/重试/状态查询),独立防风控
- 链接转换实战页面:批量链接转换(开始/停止/暂停/继续),独立防风控
- 广告清理功能:批量扫描→确认→删除网盘中的广告文件,支持暂停/继续/取消
- 目录树生成:递归生成网盘目录结构树(树形/列表双模式),支持导出到本地文件
- 批量分享/重命名实战页面:替换原占位页面,提供完整的配置面板和结果预览
- 文本文件预览:TXT 等文本文件悬停预览 +
TextPreview对话框,百度(picdocpreview)/夸克(下载链接)后端实现,截取前 256KB - 搜索页转存并分享:搜索结果一键转存到网盘并生成分享链接,已分享后支持一键复制
- 分享解析快速模式:
parse_share_fast跳过 cookie 预热,预检等轻量场景提速 - 系统原生保存对话框:
save_file命令弹出原生保存对话框,浏览器模式降级 Blob 下载 - 文件浏览器文本预览:
preview_text_file命令,支持.txt/.md等文本文件预览 - 侧边栏运行状态指示:广告插入/批量转存/链接转换/批量重命名/广告清理/目录树生成/批量分享/我的分享 共 8 个功能页签支持运行状态灯(绿色脉冲/黄色暂停)
- 路由级懒加载:所有页面
React.lazy()+Suspense按需分包,减少首屏加载体积 - VIP 心跳在线状态:
AuthStore.isOnline+ 独立在线检测定时器(所有用户),侧边栏头像状态点联动 - 分享缓存时间设置:设置页新增「我的分享」缓存时间配置(1~1440 分钟)
- vite vendor 分包优化:
vendor-tauri/vendor-xlsx/vendor-virtual独立 chunk - 多页面占位:生成目录树、清理广告页面占位导航
- 新增依赖:
tauri-plugin-dialog、tauri-plugin-fs、@tauri-apps/plugin-dialog、@tauri-apps/plugin-fs、idb、xlsx、tokio-util
修复
- SQLite 时区修正:全局
datetime('now')→datetime('now', 'localtime')(schema + 5 个 repo) - 百度转存目录修复:
needs_precreate_transfer_dir改为true,最终 save_dir 由 API 创建,中间父目录仍需预创建 - 暗色模式输入框强化:checkbox 添加
!important样式修复,bg-input色调加深 - 聚合任务状态区分:
utils.ts区分「失败」vs「部分失败」 - 任务卡片暗色模式:错误标签颜色修正(
text-status-danger→ 暗色适配色) - 任务日志集数格式:「第X集」→「更X集」
- status-error → status-danger 统一:通知/代理/设置页测试结果颜色统一
- 广告插入风控延迟调整:快速档 300
800ms → 5001200ms - VIP 重复验签移除:
is_vip()已含完整验证,移除冗余二次验签 - SSE 事件兼容浏览器:移除命名事件类型,确保浏览器
onmessage能接收所有事件 - 广告插入返回格式修正:LAN 模式返回
task_id字符串而非对象
变更
- 前端架构大重构:
store.ts(525行) 拆分为 9 个独立 store + re-export 入口 - 页面组件化拆分:
AuthDialog(727行)/AccountsPage(676行)/AdInsertPage(617行)/MySharesPage(891行) 拆分为模块化子组件 + hooks - 心跳拆分:
useAuthHeartbeat在线检测定时器 + VIP 心跳定时器,独立生命周期 - 批量获取优化:push 追加代替全量展开 + 每 5 页 flush state + 缓存超限跳过写入
- 缓存上限调低:
MAX_CACHE_PAGES50 → 30,减少遍历开销 - 滚动加载阈值放宽:100px → 200px,给虚拟滚动器足够缓冲
- 全局 card-hover 阴影增强:悬停阴影加深
- PlaceholderPages 瘦身:批量分享/重命名/生成目录树移除(已有实战页面)
SyncPan v0.0.16
[0.0.16] - 2026-06-09
新增
- 任务卡片虚拟滚动:网格/列表视图引入
@tanstack/react-virtual,大量任务时仅渲染可视区域,大幅提升渲染性能 - 百度安全验证友好提示:文件操作请求增加
newVerify=1参数,errno=132时提示用户到网页端完成验证 - 百度文件操作增强诊断:
file_manager增加 HTTP 状态码、完整响应日志,失败时输出error级别日志便于排查
修复
- 内网穿透复制失败:非安全上下文(HTTP
192.168.x.x)下Clipboard API不可用,降级到execCommand('copy')方案 - 移动端浏览器布局错乱:非 Tauri 环境小屏幕强制 1024px 桌面视口,避免布局挤压
- NSIS 静默安装桌面快捷方式丢失:强制
SetShellVarContext current用户上下文,exe 不存在时从注册表恢复路径 document.body为空报错:暗黑模式初始化时增加 null 检查
变更
- 调度器最小堆优化:用
BinaryHeap+Notify唤醒替代全量遍历 + 固定间隔轮询,减少空转 CPU 占用 - 存储批量查询优化:
transferred_files从 N+1 逐条查询改为get_all_batch单次批量查询 - 转存根目录模式自动展开:分享根目录只有一个文件夹时,自动展开其内容作为实际根,避免重复同名子文件夹
- 广播通道扩容:
broadcast::channel从 64 → 256,避免事件积压丢失 - NSIS 安装模式:
tauri.conf.json添加installMode: "currentUser"配置 cargo fmt统一代码格式
SyncPan v0.0.15
[0.0.15] - 2026-06-08
变更
- 拆分
lan_server.rs为lan_server/模块目录
SyncPan v0.0.14
[0.0.14] - 2026-06-08
新增
- 内网穿透分享链接解析:网页版支持
parse_share_info,可输入分享链接查看分享信息 - 内网穿透浏览子文件夹:网页版支持
list_share_folder,可选择绑定的监控目录 - 发布脚本 CHANGELOG 检查:打 tag 前自动检查 CHANGELOG.md 是否包含当前版本条目
修复
- 内网穿透删除文件失败:
delete_files参数名与前端不一致(file_ids→paths),导致百度 API 返回未知错误 - 更新后桌面快捷方式丢失:删除了无效的
desktopIcon配置项,NSIS 默认创建桌面快捷方式
SyncPan v0.0.13
[0.0.13] - 2026-06-08
新增
- 单实例防护(改用官方插件):从 Win32 raw FFI 改为
tauri-plugin-single-instance,修复关闭到托盘后桌面图标激活窗口无法再次关闭的问题 - NSIS 安装器图标:配置
installerIcon/uninstallerIcon,安装程序显示应用图标 - 内网穿透 TMDB 搜索:添加
search_tmdb/get_tmdb_metadata命令支持 - 更新弹窗样式优化:图标改用铃铛、间距加大、标题描述分离显示
修复
- 夸克扫码误判:细化状态码匹配,未知正数状态码视为等待中而非已扫码
- 账号管理空平台显示:0 账号平台不再显示空状态区域
变更
- GitHub 代理域名从
gh-proxy.com更换为gh-proxy.org
SyncPan v0.0.12
[0.0.12] - 2026-06-07
新增
- 单实例防护:防止多开,再次启动时自动激活已有窗口(从托盘恢复)
- NSIS 安装钩子:安装/卸载后自动刷新 Windows 图标缓存,解决升级后桌面图标不更新问题
- GitHub 下载代理:通过
gh-proxy.com代理 GitHub 资源下载,解决国内网络访问问题- 自动更新检查 (
latest.json) 走代理 - 安装包下载走代理
- 自动更新检查 (
- 常量集中管理:提取代理前缀、反馈链接、QQ 群等常量到统一位置,方便维护和修改
修复
- 修复
announcements.json中错误仓库引用(jlcodes99→mqflive) - 修复前后端 QQ 群链接占位符,改为真实加群链接
- 修复夸克扫码登录中重复硬编码 URL,统一使用
Endpoints常量
变更
- VIP 购买链接改为官网首页
- 反馈/帮助链接统一提取为
FEEDBACK_URL常量
SyncPan v0.0.11
[0.0.11] - 2026-06-07
新增
- 转存日志增强:日志显示平台标签前缀、时间、错误信息及更新集数
- 保存路径根目录警告:编辑资源任务时选择根目录保存路径,弹窗提醒用户确认
- 任务卡片集数显示优化:已播出/总集数药丸徽章(PlayCircle 图标),颜色编码区分进度
- 已完结状态标识:已播出等于总集数时显示「X集全已完结」徽章(CheckCircle2 图标,暗黑模式适配)
- 任务卡片悬停动画:鼠标悬停时卡片上移 + 阴影加深
- 卡片选中视觉优化:蓝色边框 + ring 光晕效果
- 未配置网盘置灰占位:单个网盘任务未配置时显示灰色占位
- TMDB 双 API 自动切换:
api.tmdb.org不可用时自动回退api.themoviedb.org - 普通更新自动弹窗:检测到非强制更新时也自动弹出更新提示
修复
- 转存日志不显示:修复日志写入使用
link.id而查询使用task.id的 ID 不匹配问题 - 日志 JSON 键名不匹配:后端返回
type/time,前端期望log_type/created_at,统一修正并新增id字段 - 删除任务日志未清理:删除聚合任务时同步删除关联的转存日志
- 百度分享链接 surl 解析错误:
trim_start_matches('1')误删所有前导 '1'(如11eWBst...),改用strip_prefix('1')仅移除路径分隔符 - 终端日志不可见:
cargo tauri dev捕获 stdout 导致日志不显示,改用 stderr 输出;日志级别从 info 改为 debug - 列表/卡片视图状态不一致:修复「转存中」与「运行中」显示不统一问题
- 暗黑模式已完结徽章白边:移除白色边框,改为透明边框
- 强制更新弹窗可关闭:强制更新时移除关闭按钮和跳过版本选项
变更
- 平台分组徽章从文件数改为集数显示(
N集) - 移除任务卡片进度条和已转存数,保留已播出/总集数
- 编辑资源任务弹窗移除 TmdbMetaPreview 组件及「已追至第X集」显示
- 工具栏布局调整:搜索框缩小,筛选项靠左排列,全选靠右
- 版本号升级至 0.0.11
SyncPan v0.0.10
[0.0.10] - 2026-06-06
新增
- 更新弹窗优化:弹窗加宽、更新日志区滚动限制、分类标题层级区分、粗体渲染
- 更新弹窗版本标题过滤:跳过
## [0.0.x]版本号标题行 - Rust 端 updater 请求:
updater_fetch_force_info命令替代浏览器 fetch,避免 CORS 跨域问题 - 发布辅助脚本:
npm run release:tag --prefix frontend一键打 tag,npm run release:preflight --prefix frontend发布前预检 - CI tag 校验:release.yml 新增 tag 与 Cargo.toml 版本一致性校验
修复
- 更新器网络错误静默处理,不再弹窗显示
error sending request等网络级错误 - CI
check-rustjob 先构建前端,避免include_dir!宏找不到frontend/dist报错