{"record":{"id":"416b7b754fb78699","repo":"jackwener/OpenCLI","slug":"publish-button-clicked-but-result-was-unclear-che","errorCode":null,"errorMessage":"Publish button clicked but result was unclear. Check Weibo manually.","messagePattern":"Publish button clicked but result was unclear\\. Check Weibo manually\\.","errorType":"exception","errorClass":"CommandExecutionError","httpStatus":null,"severity":"error","filePath":"clis/weibo/publish.js","lineNumber":288,"sourceCode":"                        for (const m of successMarkers) {\n                            if (txt.includes(m) && (txt.includes('成功') || txt.includes('微博'))) {\n                                return { ok: true, message: txt };\n                            }\n                        }\n                        for (const m of errorMarkers) {\n                            if (txt.includes(m)) {\n                                return { ok: false, message: txt };\n                            }\n                        }\n                    }\n                    return null;\n                })()\n            `);\n            if (finalResult !== null) break;\n        }\n\n        if (!finalResult) {\n            throw new CommandExecutionError('Publish button clicked but result was unclear. Check Weibo manually.');\n        }\n\n        if (!finalResult.ok) {\n            throw new CommandExecutionError(finalResult.message || 'Weibo publish failed');\n        }\n\n        return [{\n            status: 'success',\n            message: finalResult.message || 'Published successfully',\n            text,\n        }];\n    },\n});\n\nexport const __test__ = {\n    validateText,\n    validateImagePaths,\n};","sourceCodeStart":270,"sourceCodeEnd":306,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/weibo/publish.js#L270-L306","documentation":"Thrown when the publish button was clicked but the CLI could not determine the outcome: the final-result poll (checking Weibo's success toast / feed for the new post) returned null every iteration until its timeout. The post may actually have succeeded; the automation just cannot confirm it.","triggerScenarios":"After clicking send, the result-polling evaluate never returns a non-null finalResult within the poll budget (page.evaluate returns null on timeout/no match), so `if (!finalResult)` fires.","commonSituations":"Weibo showed an unexpected dialog after submit (verification, ad popup) that hides the success indicator; the new post took longer than the poll window to appear in the feed; Weibo A/B UI changes moved the success toast/feed item the poll looks for; very slow network delaying feed refresh.","solutions":["Manually check weibo.com — the post often did publish; delete the duplicate if you retry and it went through twice","Retry with fewer/simpler content to reduce post-submit latency","Update the CLI if Weibo changed the success-indicator markup","Slow down: run when network is stable so the result appears within the poll window"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    await publishToWeibo(text);\n} catch (err) {\n    if (String(err.message).includes('result was unclear')) {\n        console.warn('Publish result unverified — check weibo.com manually before retrying to avoid duplicates.');\n    } else throw err;\n}","preventionTips":["Treat this as 'unknown', not 'failed' — verify on weibo.com before retrying to prevent double-posting","Run with a stable, fast network so the success indicator appears within the poll window","Keep the CLI updated for changed success-toast/feed selectors","Dismiss unexpected popups in the browser profile before automation runs"],"tags":["ambiguous-state","weibo","automation"],"backgroundTag":"publish-result-unverified","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T17:17:51.833Z"}