ReviewOS

stacks/postline

Delete all existing social posts: verify the purge path end to end

#38
Open glennmichael123 opened this 9 days ago ·
9 days ago

Goal: actually wipe the existing social history from the connected accounts. The machinery looks complete — this is about proving it runs against real accounts, not building it.

What already exists

  • app/Services/Social/PurgeService.ts — preview/execute, per-provider adapters, confirmation phrase (DELETE ALL POSTS), a hard ceiling per run, and a pause between deletes
  • app/Actions/Postline/PurgePreviewAction.ts and PurgeRunAction.ts
  • Routes in routes/api.ts:104-105 (GET /purge/preview, POST /purge, rate limited to 3/hour)
  • app/Models/PurgeRun.ts — read-only audit row per run
  • Danger zone UI in resources/views/accounts.stx:136+ with preview-before-delete and the confirmation input

Purgeable today: Bluesky, X/Twitter, Mastodon, LinkedIn. Instagram and Threads are declared unsupported with a reason shown in the UI (their APIs can't delete).

What to check

  • Each of the four adapters still authenticates and deletes against the live API (tokens, scopes, endpoint drift)
  • tracked scope — deletes exactly the posts Postline published, nothing else
  • all scope — enumeration works per provider; confirm which providers can delete but not enumerate, and what the UI says in that case
  • Local cleanup: post_targets / posts rows are reconciled after a run
  • A purge_runs audit row is written for both preview and execute
  • Rate limits and the per-run ceiling are high enough to finish a real backlog, or document the "run it repeatedly" flow
  • Decide what happens for Instagram/Threads — manual deletion, or drop them from the card

Done when

Running a purge from the Accounts page removes the real post history on every supported provider, with an audit trail, and anything it can't delete is stated plainly in the UI.

Timing

Chris asked for Postline/The Open Times to be finished and usable this week, and to start publishing from it next week — to Twitter, Bluesky, LinkedIn and The OT. That puts this issue in the this-week set, alongside #38, #39 and #40.

Sign in to comment on this issue.