Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.7 KB

File metadata and controls

42 lines (33 loc) · 1.7 KB

Initial channel

Status: implemented, pre-alpha

An operator may configure one initial channel for newly created human accounts:

[admission]
initial_channel = "#general"

Invitation redemption and offline human-account creation add that channel to the new account in the same SQLite transaction as the account. Existing accounts are intentionally not backfilled when the setting is first enabled or later changed. Anonymous connections and automated accounts never receive this membership.

Every authenticated connection for a subscribed account automatically joins the channel after ordinary IRC registration. This makes a newly onboarded account land somewhere useful on a laptop, phone, or generic IRC client without requiring device-specific setup. A client's own duplicate JOIN remains an idempotent no-op.

The subscription is voluntary:

  • a successful PART removes it at account scope;
  • later connections are not automatically put back;
  • other devices that were already connected remain in the room until they leave or disconnect; and
  • a later explicit JOIN of the currently configured initial channel restores the account-level subscription.

This state is an autojoin preference, not private-channel authorization or a moderation role. Normal channel admission still applies. Operators should keep the initial room public and unkeyed so a configuration change cannot produce a repeated join denial at login.

A content reset removes every prior autojoin and subscribes each active human account to the new default channel named by the reset command. Disabled humans remain unsubscribed. This prevents old room names from recreating themselves after the content namespace is deliberately replaced.