T-HUB/docs
hacklab 80aa198843 feat: wire the Instagram connector into connect and publishing
The Instagram connector existed but was never registered, so Channels showed
it as "provider unavailable" and publishing could not resolve it.

- Register createInstagramConnector in the connections registry and the
  publishing registry; add the connector-runtime publishing policy
  (idempotency "none": media_publish has no key, never replay).
- The Facebook app credentials identify the Hub, not a collective: read them
  only from INSTAGRAM_CLIENT_ID / INSTAGRAM_CLIENT_SECRET. Drop the
  clientId/clientSecret connect fields and stop copying the app secret into
  each connection's vault entry. The provider is connectable only when both
  are set (connectEnabled + connectNote).
- Fail the connect when several Instagram accounts are granted instead of
  silently publishing as the first Page's account.
- Fix the connector package's pre-existing lint errors (it now ships in api).
- Tests: contract cases for env-only credentials and the multi-account
  refusal; connections integration case for provider gating and the
  Facebook dialog redirect.
- docs/oauth-connect.md: Instagram setup, callback URI and limits.

Not in this change: publishing images needs a public plaintext JPEG URL that
Meta downloads, and storage is client-side encrypted, so presigned S3 URLs
cannot serve it. Until a short-lived media endpoint exists, publishing to
Instagram fails with an explicit error. Token refresh via ig_refresh_token
on graph.facebook.com also needs checking against Facebook Login tokens.
2026-10-15 14:15:03 +02:00
..
decisions Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
design docs: publish governance, governed boosts, receipts, OIDC phase 2, files SSO 2026-10-14 11:52:48 +00:00
manual Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
ops Docs: cloud hosting requirements + migration runbook (measured sizing) 2026-10-12 15:49:25 +00:00
wiki docs: publish governance, governed boosts, receipts, OIDC phase 2, files SSO 2026-10-14 11:52:48 +00:00
2026-10-09-tweetdeck-on-steroids-call-for-help-ES.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
2026-10-09-tweetdeck-on-steroids-call-for-help.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
2026-10-09-tweetdeck-on-steroids-call-for-help.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
2026-10-09-tweetdeck-on-steroids-pitch.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
admin-guide.md docs: Live Control Room — multiview, switcher, audio, overlays 2026-10-14 12:17:24 +00:00
asset-creation-guide.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
engineering-guide.md docs: Live Control Room — multiview, switcher, audio, overlays 2026-10-14 12:17:24 +00:00
matrix-setup.md Collectives P1: participation landing (ES/EN), group tree, room provisioning APIs 2026-10-12 13:53:40 +00:00
oauth-connect.md feat: wire the Instagram connector into connect and publishing 2026-10-15 14:15:03 +02:00
occupymedia-storage.md Sync storage ownership doc with provisioned R2 reality 2026-10-11 04:19:28 +00:00
peertube-setup.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
s27-brief.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
s27-broadcast-station-brief.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tactical-media-broadcast-hub-brief.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tactical-media-broadcast-hub-brief.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tactical-media-broadcast-hub-technical-brief.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tactical-media-broadcast-hub-technical-brief.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
telegram-bridge-guide.md Login: bare sign-in page at /login; Telegram bridge connection guide 2026-10-13 09:49:57 +00:00
tmbh-promo.pdf Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tweetdeck-on-steroids-ES.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tweetdeck-on-steroids.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
user-guide.md Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
user-manual-v2.md docs: Live Control Room — multiview, switcher, audio, overlays 2026-10-14 12:17:24 +00:00