Skip to content

Allow Threads text-only posts.publish - #25

Closed
0thernet wants to merge 3 commits into
mainfrom
cursor/threads-text-only-publish-aaa6
Closed

Allow Threads text-only posts.publish#25
0thernet wants to merge 3 commits into
mainfrom
cursor/threads-text-only-publish-aaa6

Conversation

@0thernet

Copy link
Copy Markdown
Contributor

The installed threads-web 1.4.0 contract marked posts.publish attachment required because the reviewed live fixture was an image post. Threads itself accepts text-only posts, and the official create-container path documents media_type=TEXT. Preview therefore rejected ordinary text with input.attachment is required, which is why recent cross-posts skipped Threads rather than invent a dummy PNG.

This keeps the installed threads-web cookie-session transport. posts.publish@5 now requires body and treats the existing PNG attachment as optional. Image posts still use the reviewed rupload plus configure_text_post_app_feed path. Text-only posts skip rupload and use that same create form, then bind a locator-only target and verify permalink actor/text with no image.

Behavior

  • Text-only input validates and can be previewed.
  • A supplied PNG still validates and still uploads.
  • Image types stay PNG-only.
  • No dummy 1x1 PNG, collage, or composer click-path.
  • R3 preview/confirm, readback, and indeterminate post-create rules stay in place. Upload failures remain retryable; create-response uncertainty remains indeterminate.
  • Historical posts.publish@4 image recovery still works. New text-only recovery uses the locator-only target.

Docs

skills/wrench routing and platform notes no longer say Threads always needs a PNG.

Verification

  • bun test src/providers/meta-web.test.ts src/providers/meta-web-runtime.internal.test.ts src/plugins/meta-web/plugin.test.ts src/scripts/sync-bundled-adapters.test.ts
  • bun run check
Open in Web Open in Cursor 

The reviewed create path is configure_text_post_app_feed. Attachment was
required only because the captured fixture included an image. Keep PNG
image posts on the same contract and snapshot 1.4.0 as the image-required
predecessor.

Co-authored-by: ben <0thernet@users.noreply.github.com>
@vercel

vercel Bot commented Aug 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wrench Ready Ready Preview Aug 22, 2026 1:46am

Request Review

Adding the text-only publish writer identity increases the durable
inventory from 283 to 284 rows. Snapshot the new hashes so every
NODE_ENV mode still pins the exact predecessor writer identities.

Co-authored-by: ben <0thernet@users.noreply.github.com>
The current adapter is 1.5.0. Recovery and bundled upgrades still need
the image-required 1.4.0 snapshot next to the other historical Threads
manifests.

Co-authored-by: ben <0thernet@users.noreply.github.com>
@0thernet

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #42 after recovering the still-valid behavior onto the current release stack.

The successor preserves the active Threads media.publish@1 video path, archives the prior v1.6.0 adapter exactly, and advances the active adapter to v1.7.0 with posts.publish@5 text-only support. Exact successor head 860a32e was independently audited with no P0/P1/P2 findings. Its local full gate exited 0 with 2,766 pass, 1 skip, 0 fail in the main suite, 18/18 serial omni tests, and the standalone package smoke complete. All exact-head hosted PR checks passed.

#42 squash-merged as fca412b. Exact postmerge run 32622325676 completed successfully on that SHA, including Linux check, macOS, package smoke, and Required.

This original PR is stale against the current adapter and release history and cannot merge safely as written, so it is closed unmerged. Its source branch remains retained at exact original head 2f8ba64 for provenance.

@0thernet 0thernet closed this Aug 23, 2026
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.

2 participants