Commit Graph
27 Commits
Author SHA1 Message Date
HommyandClaude Code b4e39e9451 修复 get_draft 错误码不重试,并给下载阶段加总超时。
ResponseMiddleware 把所有非 200 改写成 HTTP 200,真实状态码在 body 的 code 里。
因此 draft_downloader 里按 HTTP 状态判断重试的分支对文件列表请求是死代码,
真实错误全部走 code != 0 分支——而该分支此前立即判死、零重试,服务端 5xx
事实上从未被重试过;desktop-client 则只检查 response.status(恒为 200),
从不看 code,服务端瞬时错误直接弹报错、不重试。

服务端 code != 0 现按信封分类:9998/9999(系统内部错误)与 ≥500 可重试,
业务码 1001-2050 保持立即失败。客户端把信封校验移进 requestGetDraftOnce,
使其落在重试循环内;只挂 apiCode 不挂 response,否则 response.status 恒为
200 会把「服务器返回错误 (200)」当成原因报给用户。

下载阶段新增 5 分钟总预算:读写超时只管单次 socket 读写,慢速滴流能无限续期,
重试预算又逐层相乘,故另设按阶段计时的预算,检查点只在发起新请求之前与 chunk
之间(后者是慢速滴流唯一能拦住的地方)。另修 _download_remote_file_raising
不归还连接的泄漏,并给 robocopy 加 120s 超时。

客户端 ENOTFOUND(NXDOMAIN,对应服务端 Errno 11001)改为 3 次小预算重试,
与服务端 _DNS_RETRY_BUDGET 对齐;ECONNREFUSED 仍不重试。

下载器测试 128 → 144 项。改动了一条既有断言:test_non200_404_does_not_retry
原先写 assert_not_called(),即把「404 分支不归还连接」这个泄漏当成了预期行为。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-09 21:18:59 +08:00
HommyandClaude Code 0346b20c6a 补齐草稿下载的网络重试覆盖,瞬时故障不再被判死。
线上素材域名解析瞬时失败(Errno 11001)会把整个导出任务判死,而该素材实测
HTTP 200 可正常访问:getaddrinfo failed 被列为永久错误,一次抖动即失败,
且报成「草稿或素材不存在/URL无效」,把排查引向错误方向。现改为小预算快速
重试(3 次),耗尽后归类为网络重试耗尽。

同类缺口一并补齐:HTTP 500(多为 OSS/Nginx 的瞬时内部错误)、
ContentDecodingError(响应体解码失败,不继承 ConnectionError 故被漏掉)、
以及文件列表返回 200 但正文非 JSON(网关截断响应或 HTML 错误页)。

desktop-client 同步将 500 纳入可重试状态,与服务端保持一致;唯一保留的差异是
416,客户端在 resumableDownload 中单独处理续传边界,已在两侧注释中说明。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-09 18:46:20 +08:00
Hommy 0abe3b1ffa 优化草稿下载,下载到本地的草稿使用相对路径。 2026-09-27 22:27:12 +08:00
Hommy 4a25879bb0 优化草稿下载,尽可能避免失败。 2026-08-25 15:22:36 +08:00
Hommy c9f44b076d 优化菜单。 2026-08-24 12:30:34 +08:00
Hommy b2b4d74deb 增强编辑体验,添加上下文菜单功能。 2026-08-24 10:17:54 +08:00
Hommy 873282d966 优化重试次数,避免大文件下载失败。 2026-08-18 14:07:39 +08:00
Hommy a024629272 重构下载流程,增加断点续传; 2026-08-18 14:01:29 +08:00
Hommy 0e31bd8fb0 解决资源下载过程中,资源状态显示不正常的问题。 2026-06-05 17:04:19 +08:00
Hommy b18c942d8a 优化UI提示。 2026-06-05 15:58:33 +08:00
Hommy 88885530d5 优化下载提示。 2026-06-04 17:50:04 +08:00
Hommy 78433833ca 优化草稿下载提示,优化体验。 2026-06-04 14:56:03 +08:00
Hommy 0e95970c2e 解决草稿下载过程中的无效重试。 2026-06-04 14:19:38 +08:00
Hommy 8777e28a01 使用更科学的方式处理文件类型。 2026-05-26 20:20:18 +08:00
Hommy 50d5d69242 优化草稿下载体验。 2026-05-15 16:59:00 +08:00
Hommy 1fb3a45d59 解决权限问题。 2026-05-14 21:33:11 +08:00
Hommy 7f29f3ced2 优化下载日志。 2026-04-30 19:42:34 +08:00
Hommy 060282b3b2 优化草稿的下载逻辑。 2026-04-30 19:24:30 +08:00
Hommy dc71332a0b 解决文件重复下载的问题。 2026-04-26 21:55:27 +08:00
Hommy 572c253138 更新UI版本号。 2026-04-26 13:07:06 +08:00
Hommy 0094b28f7e 重构剪映草稿的下载逻辑,增强兼容性。 2026-04-24 15:20:24 +08:00
Hommy 716831b93d 新增加剪映小助手客户端自动选择目录的能力,需求如下:
帮我重构客户端desktop-client的配置逻辑,当首次运行时,没有配置剪映草稿地址时,自动选择草稿地址规则如下:
windows:
C:\Users\1\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft
说明:路径中1是用户名,需要遍历用户名,如果能找到路径:
C:\Users\1\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft\root_meta_info.json
或者
C:\Users\1\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft\.recycle_bin
就能确认草稿目录为C:\Users\1\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft

macos:
路径:~/Movies/CapCut/User Data/Projects/com.lveditor.draft/
或者
~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/
同理,如果目录下面有目录.recycle_bin或文件root_meta_info.json就能确认对应的目录为剪映草稿目录;

如果上述规则都无法找到剪映草稿目录,就弹窗口让用户自己去选。
2026-04-09 11:36:52 +08:00
Hommy 9248156835 优化文件写入权限,避免文件下载权限异常。 2026-03-08 15:38:33 +08:00
Hommy 0eeff20b44 解决草稿下载后,剪映草稿列表找不到草稿的问题。 2026-03-07 14:53:09 +08:00
Hommy 0eaed8dec9 优化文件下载,增加文件下载失败后重试逻辑。 2026-01-18 19:54:01 +08:00
Hommy a9e4370100 解决应用程序在macos上访问权限的问题。 2026-01-12 08:42:30 +08:00
Hommy c209c53bfc 客户端源代码上库。 2025-12-25 20:00:09 +08:00