Files
owncast-IRC-bridge/chat-summaries/2026-03-10_brainstorm-summary.md
2026-03-10 21:49:42 -04:00

1.2 KiB
Raw Permalink Blame History

OwncastIRC Bridge: Brainstorm & Design Session

Date: 2026-03-10

Task

Design a bidirectional chat bridge between Owncast (https://owncast.bowlafterbowl.com) and IRC (irc.zeronode.net / #BowlAfterBowl).

Decisions Made

  • Language: Rust
  • Architecture: Tokio async runtime with concurrent tasks (IRC, Webhook, WebSocket, Health Poller, Router, Control Socket) communicating via mpsc channels
  • Owncast ingest: Webhooks (primary) + WebSocket (fallback)
  • Identity: Prefixed messages — [IRC] <nick> / [OC] <user>
  • Extras: Stream start/stop announcements in IRC, auto-reconnect with exponential backoff
  • Owncast lifecycle: Three-state model (Online, OfflineChatOpen, Unavailable) with health polling
  • Runtime control: Unix domain socket + bridge-ctl CLI tool
  • Deployment: Binary + Dockerfile (multi-stage)

Files Created

  • docs/plans/2026-03-10-owncast-irc-bridge-design.md — Full design document
  • docs/plans/2026-03-10-owncast-irc-bridge-impl.md — 15-task implementation plan

Follow-up

  • Open a new session and execute the implementation plan using superpowers:executing-plans skill
  • Plan file: docs/plans/2026-03-10-owncast-irc-bridge-impl.md