diff --git a/clis/xiaohongshu/publish-video.js b/clis/xiaohongshu/publish-video.js index 32bcd0c36..328933278 100644 --- a/clis/xiaohongshu/publish-video.js +++ b/clis/xiaohongshu/publish-video.js @@ -336,7 +336,7 @@ async function waitForVideoPublishResult(page, { isDraft, maxWaitMs = PUBLISH_RE return { unknown: true, message: `${isDraft ? '暂存' : '发布'}结果无法确认:等待终态超时。` - + ` Last state: ${lastState.message || 'unknown'}.` + + ` Last state: ${lastState.message || 'no terminal status message received'}.` + ' Debug screenshot: /tmp/xhs_publish_video_result_debug.png', }; } diff --git a/clis/youtube/publish.js b/clis/youtube/publish.js index df3410385..49fb1cc10 100644 --- a/clis/youtube/publish.js +++ b/clis/youtube/publish.js @@ -655,7 +655,7 @@ async function advanceToPrivacyStep(page, { const screenshotPath = '/tmp/youtube_visibility_debug.png'; try { await page.screenshot({ path: screenshotPath }); } catch { /* screenshot is best-effort */ } const state = JSON.stringify({ - step: lastStep || 'unknown', + step: lastStep || 'no upload step detected', nextFound: Boolean(lastProbe?.nextFound), nextDisabled: Boolean(lastProbe?.nextDisabled), doneFound: Boolean(lastProbe?.doneFound), @@ -782,7 +782,7 @@ async function clickPublish(page, privacy, { budgetMs = 30_000, warningChecks = await page.wait({ time: 0.8 }); } debugPublish(`clickPublish: gave up, last=${JSON.stringify(last)}`); - throwPublishFailure(PUBLISH_ERROR_CODES.platformError, `YouTube publish/save button (#done-button) was not clickable (${last?.reason || 'unknown'})`); + throwPublishFailure(PUBLISH_ERROR_CODES.platformError, `YouTube publish/save button (#done-button) was not clickable (${last?.reason || 'page reported no reason'})`); } async function waitForYouTubePublishResult(page, privacy, expectedVideoId) { diff --git a/package-lock.json b/package-lock.json index eedf57798..d40e73450 100644 --- a/package-lock.json +++ b/package-lock.json @@ -611,6 +611,43 @@ } } }, + "node_modules/@emnapi/core": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.2.tgz", + "integrity": "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@emnapi/wasi-threads": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", @@ -2925,9 +2962,9 @@ } }, "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", "funding": [ { "type": "github", @@ -2988,9 +3025,9 @@ } }, "node_modules/jsdom/node_modules/undici": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", - "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", + "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", "dev": true, "license": "MIT", "engines": { @@ -4024,9 +4061,9 @@ } }, "node_modules/undici": { - "version": "6.27.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", - "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.28.0.tgz", + "integrity": "sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==", "license": "MIT", "engines": { "node": ">=18.17" diff --git a/scripts/silent-column-drop-baseline.json b/scripts/silent-column-drop-baseline.json index 71dce0db8..ef0aed04b 100644 --- a/scripts/silent-column-drop-baseline.json +++ b/scripts/silent-column-drop-baseline.json @@ -589,6 +589,22 @@ "snippet" ] }, + { + "command": "tiktok/publish", + "file": "clis/tiktok/publish.js", + "missing": [ + "captionSelector", + "hasSubmit", + "uploading" + ] + }, + { + "command": "tiktok/publish", + "file": "clis/tiktok/publish.js", + "missing": [ + "outcome" + ] + }, { "command": "twitter/accept", "file": "clis/twitter/accept.js", @@ -605,15 +621,6 @@ "name" ] }, - { - "command": "twitter/list-remove", - "file": "clis/twitter/list-remove.js", - "missing": [ - "method", - "ts", - "url" - ] - }, { "command": "twitter/list-tweets", "file": "clis/twitter/list-tweets.js", @@ -761,14 +768,6 @@ "status" ] }, - { - "command": "xianyu/search", - "file": "clis/xianyu/search.js", - "missing": [ - "extra", - "original_price" - ] - }, { "command": "xiaohongshu/creator-note-detail", "file": "clis/xiaohongshu/creator-note-detail.js", @@ -806,6 +805,20 @@ "url" ] }, + { + "command": "xiaohongshu/publish-video", + "file": "clis/xiaohongshu/publish-video.js", + "missing": [ + "pending" + ] + }, + { + "command": "xiaohongshu/publish-video", + "file": "clis/xiaohongshu/publish-video.js", + "missing": [ + "unknown" + ] + }, { "command": "xiaohongshu/search", "file": "clis/xiaohongshu/search.js", @@ -876,6 +889,27 @@ "videos" ] }, + { + "command": "youtube/publish", + "file": "clis/youtube/publish.js", + "missing": [ + "pending" + ] + }, + { + "command": "youtube/publish", + "file": "clis/youtube/publish.js", + "missing": [ + "unknown" + ] + }, + { + "command": "youtube/publish", + "file": "clis/youtube/publish.js", + "missing": [ + "videoId" + ] + }, { "command": "youtube/watch-later", "file": "clis/youtube/watch-later.js",