- _focus_desc_editor: locate the description editor with multiple fallback
strategies instead of a single brittle selector; dump page screenshot/HTML
on failure for easier selector updates
- cookie_auth: positive verification via the upload button presence, with
login-page / intro-page / legacy checks as fallbacks
- close_guide_overlay: also remove the Joyride portal and spotlight layers
that intercept clicks
- add collection_name support to KSVideo
- Open homepage first, then click the visible 'publish video' entry
button instead of loading /platform/post/create directly, which gets
bounced back to the homepage and leaves the form iframe un-mounted
- Detect expired cookies up front by watching for the /login.html
redirect and the qrconnect iframe
- Drop the redundant confirm_thumbnail_crop call that caused a 5s
timeout on cover upload
- Select collection by exact name after upload completes (form resets
selections made while the video is still uploading); keep it
unselected when no matching name is found instead of picking a
random one
- Scroll the target option into view and fall back to forced click /
native dispatch for headless visibility issues
- Tighten short-title length to 7~15 chars to pass platform validation
- Dismiss the occasional 'switch account' dialog that blocks the
description box and the publish button
- Set cover via native click with retries; skip gracefully instead of failing the whole order
- Select the collection via its dedicated Semi select with overlay cleanup
- Rewrite self-declaration dialog handling (entry/dialog/option/confirm) and reuse it in upload
- Type description before tags and fill via set_input_files with robust upload input detection
- Keep SMS verification code prompt as a publish-loop guard
- check_original_declaration: replace the original checkbox with the
'来源转载' (repost) declaration flow: open the declaration picker, select
'来源转载', fill the media name, confirm. Falls back to JS click when the
element text is wrapped in non-interactive spans
- set_thumbnail: switch to the '上传封面' tab and target the upload-wrapper
file input instead of the cover-plugin-preview selector; skip gracefully on
failure and let the video first frame be used