## 问题描述 YouTube 上传时报 `upload_failed: YouTube upload details dialog did not appear before timeout`,即使传了 `--timeout 420` 也无效。 ## 复现命令(脱敏示例) ``` opencli youtube publish --file /path/to/video.mp4 --title "..." --timeout 420 ``` ## 错误输出 ``` error: upload_failed message: YouTube upload details dialog did not appear before timeout exitCode: 1 ``` ## 当前排查结论 1. `waitForDetailsDialog`(publish.js:185)等待页面 body text 匹配 `/details|video details|title|description|详情|标题|说明/i` + contenteditable/textarea/input 元素,而非直接等 `ytcp-uploads-dialog` 元素 2. timeout 参数通过 `createFlowDeadline` 正确传递(PR #29 修复已在) 3. 最可能根因:视频上传本身超过 timeout,details dialog 上传完成后才出现 4. 次要可能:YouTube UI 改版,body text 不含上述关键词 ## 建议修复方向 1. 改用更可靠的 dialog selector(`ytcp-uploads-dialog` 或 `ytcp-video-metadata-editor`)代替 body text 匹配 2. 分离「等待上传完成」和「等待 details dialog 出现」两个阶段,各自有独立 timeout 3. 提供上传进度监控,让用户知道上传百分比而非静默等待 ## 关联 - PR #26 (browserLiteral+page.evaluate 作用域修复) — 已关闭,未合并入 main - PR #29 (timeout 参数传递修复) — 已关闭,未合并入 main
问题描述
YouTube 上传时报
upload_failed: YouTube upload details dialog did not appear before timeout,即使传了--timeout 420也无效。复现命令(脱敏示例)
错误输出
当前排查结论
waitForDetailsDialog(publish.js:185)等待页面 body text 匹配/details|video details|title|description|详情|标题|说明/i+ contenteditable/textarea/input 元素,而非直接等ytcp-uploads-dialog元素createFlowDeadline正确传递(PR fix: 延长 YouTube 发布上传等待 #29 修复已在)建议修复方向
ytcp-uploads-dialog或ytcp-video-metadata-editor)代替 body text 匹配关联