Repository navigation
v0.1.5
Reliable publication after audience changes
Facebook can retain the old audience pane and its Done control inside the composer. The CLI now selects the unique visible Post/Đăng/Publier button instead of the last labelled control, waits for its effective enabled state, settles hover preparation, and revalidates the same target between input events before publication. Hidden/collapsed controls, inherited disabled state, retained Done buttons, and changed targets fail closed.
Creation still uses a single publish action and verifies the actual create-story response, author, exact permalink, and rendered post content. It never automatically retries an uncertain publication.
This release also includes the v0.1.4 agent workflow improvements: compact warm named browser pages, trusted click/fill/key/scroll/upload, targeted eval/CDP, safer Messenger drafts and PIN prompts, and verified post refs. Ordinary snapshots omit form/editor values; explicit eval/CDP/screenshots can expose private data.
Validation and builds
- 37 real Chrome + CLI E2E scenarios, including retained audience controls, unrelated trailing controls, hover/input mutation rejection, and publish labels in English, Vietnamese and French.
- Opt-in live Only-me lifecycle: create, verify body/privacy, view, move to Trash and confirm absence.
- Linux, macOS and Windows CI gates all five platform archives; SHA256SUMS covers every archive.
Browser primitives provide reach beyond the dedicated commands, not a promise that every Facebook feature is individually tested. Login, 2FA or a Messenger encryption PIN can still require human input. Strict ref/fill guards can refuse changed selection; explicit lower-level browser primitives remain available. Facebook can change its UI/protocol.