# Live chat

Status: Shipped

Fanful's chat work starts with durable community channels and event-linked conversation instead of disposable embed comments. Guests can read public conversation, signed-in listeners can post where allowed, and admins can moderate the visible stream.

## What is usable now

- A default General community channel is seeded for Laurel and stored in D1 with channel settings and message history.
- Guests can read recent visible messages, while signed-in listeners can post to active channels.
- Admin moderation can flag, hide, or restore messages while retaining durable records for review.
- Realtime updates use a Durable Object coordinator with a REST fallback for browsers or networks that cannot keep a socket open.
- Slow mode, lightweight replies, typing indicators, system emoji reactions, and scoped mention rendering have shipped as small Discord-lite slices.

## Fan value

- Fans can talk where the creator's live, media, and membership context already lives.
- Conversation can persist across pre-show, live, replay, and between-event moments instead of being copied between tools.
- Notification preferences can respect listener-level categories and channel join or mute state.

## Creator value

- Creators get moderation controls and audit-friendly state before turning assistants loose on community operations.
- Live events can link to a community channel so the broadcast and ongoing room share context without duplicating messages.
- The platform can add richer community affordances without forcing creators into a separate Discord-style product on day one.

## Evidence in the current stack

- Community chat notes: docs/features/community-chat.md documents public reads, signed-in posting, D1 persistence, moderation, slow mode, reactions, replies, and mention routing.
- Linked live channel: The community notes and livestream notes both describe live_events.community_channel_id as the link between a room and persistent community conversation.
- Agent contract: contracts/agent-community-chat/v1 and GET /api/agent/community-chat are documented as the planning surface for agents.

## Boundaries

- This is not a complete Discord replacement yet; advanced channel management, digests, stronger review queues, and richer automation remain scoped follow-up work.
- The current runtime is Laurel-first; multi-creator chat needs explicit community ids and membership checks before cross-creator switching is exposed.
- Public reading does not join a listener to a channel, so mention and digest routing should only target explicit participants.

## Pricing notes

- Chat uses app traffic, D1 storage, and realtime coordination, so the practical pricing question is fan volume and room activity rather than a separate chat seat count.
- Email or push digests should count against email or notification usage when those workers are enabled.

## Related pages

- [All features](/features): Return to the Fanful feature catalog.
- [Pricing](/pricing): Compare plan limits before promoting large live communities.
- [Live room](/live): See where linked community conversation appears in production.
- [Markdown feature catalog](/features.md)
- [HTML feature page](/features/live-chat)
