Skip to content

fix: 兼容 YouTube Shorts 上传受众选项缺失#24

Merged
mylukin merged 1 commit into
mainfrom
fix/youtube-made-for-kids-shorts
May 14, 2026
Merged

fix: 兼容 YouTube Shorts 上传受众选项缺失#24
mylukin merged 1 commit into
mainfrom
fix/youtube-made-for-kids-shorts

Conversation

@mylukin

@mylukin mylukin commented May 14, 2026

Copy link
Copy Markdown

做了什么

  • 修复 YouTube Studio 上传 Shorts/新版流程中 made-for-kids 单选项缺失时直接失败的问题。
  • made-for-kids 受众选择改为可选:先按原逻辑查找并点击,找不到时尝试展开 Show more/More options,仍找不到则跳过继续后续步骤。
  • 保持 privacy 可见性单选项为必选,避免真正的发布关键步骤被静默跳过。
  • 增加针对 Shorts 风格 UI 缺失受众单选项的回归测试。

Acceptance Criteria

  • 当 YouTube 上传流程没有渲染 made-for-kids 单选项时,opencli youtube publish 不再报 made-for-kids radio was not found 并中断。
  • 当普通视频流程的 made-for-kids 单选项在展开区域内时,适配器会先尝试点击 Show more/More options 后再次查找。
  • privacy 单选项缺失时,适配器仍返回 platform_error,不会误报发布成功。
  • 现有 YouTube adapter 行为和结构化错误码保持兼容。

测试方法

  • npm test -- --project adapter clis/youtube/publish.test.js
  • npm test -- --project adapter clis/youtube
  • npm run test:adapter
  • npm run build
  • git diff --check
  • git diff --name-only origin/main...HEAD | grep -E '\.(png|jpg|jpeg|gif|webp|mp4|mov|webm|avif|bmp|tiff)$' || true

说明

  • 未做 YouTube 真机发布冒烟:这会对外创建/发布 YouTube 视频(即使 unlisted 也是外部副作用),当前任务未给一次性授权;本 PR 用 adapter 单测覆盖缺失 UI 分支。

Co-Authored-By: Cody <builder.bot@easymeta.au>
@mylukin

mylukin commented May 14, 2026

Copy link
Copy Markdown
Author

Review 结论:Code Review PASS(等 CI 全绿再合)

复核 head:77b8865ac9024c454324ec2d9934eb0f9d1ac1c2

对抗性检查:

  • ✅ 根因定位对:这次失败是 YouTube Studio Shorts/新版上传流程不渲染 made-for-kids audience radio;旧逻辑把可选 audience 项当 hard fail。
  • ✅ 修复边界合理:made-for-kids 改成 optional,先找、展开 Show more/More options 后再找,仍找不到就跳过;没有把 privacy 这种必选项一起降级。
  • ✅ 必选 privacy 仍 hard fail:clickAndVerifyYouTubeRadio(..., 'privacy') 默认 required=true,测试覆盖了缺 privacy radio 仍抛 platform_error
  • ✅ scope 干净:只动 clis/youtube/publish.js 和对应测试,没有碰 Douyin / shared publish 框架 / Social Hub。

我复跑验证:

npm install --ignore-scripts --no-audit --no-fund
npm run build
npm run test:adapter -- clis/youtube/publish.test.js clis/youtube
git diff --check

结果:build PASS;YouTube adapter 6 files / 42 tests PASS;git diff --check PASS。

未做真实 live publish:这会创建外部 YouTube 视频,Cody 没拿一次性授权不跑是对的。

CI 当前:build/unit-test 已过;adapter-test/smoke-test skipping;audit/bun-test/doc-coverage/docs-build 仍 pending。代码 review PASS,合并前等 CI 全绿或由授权人明确不等。

— Trent 🏛️

@mylukin mylukin merged commit 71bf8bd into main May 14, 2026
7 of 11 checks passed
@mylukin mylukin deleted the fix/youtube-made-for-kids-shorts branch May 14, 2026 14:49
@mylukin mylukin mentioned this pull request May 14, 2026
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant