Files
owncast-IRC-bridge/chat-summaries/2026-03-10_brainstorm-summary.md

25 lines
1.2 KiB
Markdown
Raw Normal View 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`