Branding & themes

Everything that ties Orbit to a particular network or brand lives in config.json under branding and defaults — no code changes, no rebuild.

Rebrand

{
  "branding": {
    "name": "ExampleChat",
    "icon": "https://example.org/logo.svg",
    "url": "https://example.org",
    "tagline": "Chat with",
    "taglineEm": "everyone.",
    "subtitle": "Public rooms, private messages, and moderation that works."
  }
}

branding.name and branding.icon reach everywhere the app identifies itself: the connect screen, the browser tab title + favicon, desktop and Web Push notifications, the PWA install prompt (name + description, localized), the iOS home-screen title, the network icon, and the CTCP VERSION/SOURCE replies. Point icon at your own logo URL and the tab icon follows.

Themes

Orbit ships four themes:

  • light — clean, default.
  • dark — easy on the eyes.
  • yomirc — a retro mIRC / Windows-95 skin (silver chrome, fixed-width log lines).
  • yomirc-dark — the retro skin in a dark palette.

Set the default for new users:

{ "defaults": { "theme": "dark" } }

Users can switch any time in Settings → Appearance. See the Themes wiki page.

Feature flags

Hide whole features per deployment:

{ "features": { "push": true, "imageUpload": true, "register": false } }
  • push — Web Push notifications: the Settings row and the re-subscribe-on-connect.
  • imageUpload — the composer image button and paste / drag-drop upload.
  • register — account self-service: the "Create account" button, the "Forgot password" link, and their FAQ entries (all hidden together).

Languages

The UI and the bundled plugins are fully translated in 10 languages (auto-detected). Pin a default with defaults.lang; users can switch in Settings.