Skip to content

Auto first comment after publish (YouTube + Instagram) - #309

Open
gynsus wants to merge 6 commits into
trypostit:mainfrom
gynsus:pr/youtube-description-first-comment
Open

gynsus wants to merge 6 commits into
trypostit:mainfrom
gynsus:pr/youtube-description-first-comment

Conversation

@gynsus

@gynsus gynsus commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Why

The classic "link in the first comment" trick isn't possible through TryPost: neither a YouTube Short nor an Instagram post can carry an automatic comment posted right after publishing — the spot where creators put the links a caption can't make clickable (Instagram) or wants to keep out of the description (YouTube).

This PR originally also introduced a separate YouTube description; that half was superseded by #371, so the branch now merges main and keeps only the first-comment feature on top of it.

What changed

  • meta.first_comment for YouTube (commentThreads.insert, ≤ 10,000 but capped at 2,200 to share the field with Instagram) and Instagram (/{media_id}/comments; instagram_manage_comments joins the requested scopes — existing IG connections need one reconnect to pick it up).
  • Posting the comment happens after the post is marked published, in a FirstCommentPoster that catches everything and only logs: a failed comment must never fail a published post. Posts held in pending review (Google Business) get no comment.
  • The field is exposed in the editor's YouTube and Instagram channel settings panels, and validates through PostPlatformMetaRules, so the web editor, the REST API, and MCP all accept and persist it (fields without a rule there get silently stripped by validated() — covered by the meta persistence tests).

Testing

FirstCommentPosterTest, YouTubePublisherTest, PostApiPlatformMetaTest, PostPlatformMetaToolTest pass. Battle-tested live: first comments posted on YouTube Shorts and Instagram.

Two per-platform meta fields, wired through web/API/MCP validation like
Pinterest's board_id:

- description (YouTube, ≤5000): full video description with clickable
  links; the publisher falls back to the post content when absent, so the
  pre-meta behavior is unchanged.
- first_comment (YouTube + Instagram, ≤2200): posted by the account right
  after a successful publish — the classic home for links Instagram
  captions can't render and YouTube descriptions bury. Runs after
  markAsPublished and never fails the post; failures are logged.

Instagram connects now request the manage-comments scope (existing
accounts keep publishing; the first comment logs a permission error until
reconnected). YouTube already held youtube.force-ssl.
The 100-char cap predates the per-platform meta: back then the whole
content served as both title and description. Now the title comes from
meta.title (validated at 100) or is auto-truncated by buildTitle, and the
content lands in the description (5000) unless meta.description overrides
it — yet a fully meta-equipped post still failed publish-time validation
because the shared caption was longer than a title. Cap at 5000.
@gynsus
gynsus force-pushed the pr/youtube-description-first-comment branch from fd55ed6 to 5347ff5 Compare September 22, 2026 08:24
@paulocastellano

Copy link
Copy Markdown
Contributor

@gynsus it's ready for review?

@gynsus

gynsus commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

@paulocastellano Yes, ready for review! The branch is rebased on v1.1.0 (also adapted the new repurpose caption tests to the raised YouTube description limit) and CI is fully green.

…tit#371), keep the first comment

Upstream reimplemented the separate YouTube description, so this branch now
carries only the first-comment-after-publish feature (YouTube + Instagram):
dropped our meta.description rule, publisher override, editor textarea and
duplicated test coverage in favor of upstream's, and grafted the first-comment
field into the rewritten YouTubeSettings panel.
@gynsus gynsus changed the title YouTube descriptions and a first comment after publish (YouTube + Instagram) Auto first comment after publish (YouTube + Instagram) Sep 30, 2026

This branch has not been deployed

No deployments
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