Skip to content

feat(sharing): post to X by hand instead of through its API - #10

Merged
tee8z merged 1 commit into
masterfrom
feat/manual-x-snippet
Oct 3, 2026
Merged

tee8z merged 1 commit into
masterfrom
feat/manual-x-snippet

Conversation

@tee8z

@tee8z tee8z commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Posting to X through its API needs a developer app, stored keys, and paid credit per post. This replaces that channel with a copy-ready teaser.

  • Sharing page. Each teaser shows its post text (title and summary) and its article link in separate read-only fields. Paste the text into a post and add the link under it or in a reply; together they still fit a single 280-character X post.
  • Removed. The X API client, its OAuth 1.0a signing, the X settings form and route, the stored X keys, and the hmac and sha1 direct dependencies. Maincopy stores no X credentials.
  • Unchanged. Substack sharing, first-publication teasers, delivery states, and restore safeguards.

Validation: cargo clippy -p maincopy-server --all-targets --all-features -- --deny warnings and the full server suite pass (762 library tests plus the integration targets). New and changed tests cover the page without an X form or route, a teaser recorded with no channel enabled, sharing it to Substack later, the delivery ledger on Substack alone, and the upgrade from a database that holds X keys and X deliveries.

Upgrade: migration 0015 drops sharing_x and rebuilds sharing_deliveries so only substack is a valid channel; X deliveries are discarded. Take a verified pre-upgrade backup; an older binary cannot open the newer migration ledger.

The sharing page now shows each teaser's post text and its article link
in separate fields, to copy into a post and a reply. Together they still
fit a single X post.

The X API channel is removed with its stored keys, its OAuth signing,
and the two dependencies that signing needed. Migration 0015 drops the
X settings table and any X deliveries. Substack sharing is unchanged.
@tee8z
tee8z marked this pull request as ready for review October 3, 2026 19:45
@tee8z
tee8z merged commit 115059a into master Oct 3, 2026
5 checks passed
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.

1 participant