Skip to content

Relay Additions

Relay adds the following features on top of upstream The Lounge:

  • IRCv3 typing notifications. See who is typing in real time via the IRCv3 +typing client tag. A space is reserved in the UI so the layout does not shift when the indicator appears. The notification can be toggled per-user from the Notifications settings tab.
  • IRC command aliases. Use /alias <name> <command> to define personal command shortcuts. Aliases are managed through a dedicated Settings tab and appear in /command autocomplete.
  • Theme import/export. Export your current CSS theme to a file and import custom themes from external CSS files. Imported themes become first-class selectable themes with full delete support, accessible from a dedicated Themes settings tab.
  • Upload management. A new Uploads settings tab lists all files you have uploaded, with the ability to delete individual files. Only available on private authenticated instances.
  • Upload expiration setting. Configure per-user file upload expiration time directly from the Settings UI. Expiry is enforced at serve time and a background cleaner runs every minute to remove expired files.
  • Channel list refresh. A refresh button on the /list channel list lets you re-fetch the server's channel list on demand.
  • Public mode hardening. When running in public mode, lockNetwork is forced on and link prefetching is disabled to prevent information leakage and unauthorized network changes. Theme upload and delete are also blocked.
  • WebAuthn (FIDO2) passwordless login. Register hardware security keys (YubiKey, passkeys, Touch ID, etc.) from the Security Keys settings tab. Sign in with a single button click and a key touch — no username or password required. Multiple keys per account are supported. Only available on private authenticated instances.
  • Admin settings panel. A web-based admin panel lets instance owners configure server-wide settings and restart the server without touching config files. Accessible to admin accounts from a dedicated Admin tab in Settings.
  • Account registration. Private-mode instances can optionally allow self-registration via a /register sign-up page. When SMTP is enabled, new users must verify their email with a one-time code before their account is created (code expires in 15 minutes, 5 attempts allowed). Without SMTP, accounts are created immediately on submit. Both allowRegistration and SMTP settings are configured from the admin settings panel. Registration is disabled by default.
  • Jitsi voice/video calling. Integrates Jitsi Meet for in-channel voice and video calls. A call button appears in channel toolbars; calls open in a resizable, fullscreen-capable panel inside the client. The Jitsi server URL is configured from the admin settings panel. Mobile-responsive layout is included.
  • KLIPY GIF picker. Search and send GIFs directly from the chat input via the KLIPY API. The API key is stored server-side and requests are proxied through the server, so it's never exposed to the browser. Enabled and configured from the admin settings panel.
  • First-run web setup. On a fresh install with no user accounts, the server prints a one-time setup token to its console/log output and serves a /setup page instead of sign-in, so you can create the initial admin account from the browser without CLI access. The setup page and token are permanently disabled the instant the account is created — it can never be reopened. The relay add CLI command still works as before if you prefer it.
  • npm package manager. Relay uses npm instead of yarn. All install and script commands use npm.
  • Native ESM modules. The server-side codebase has been migrated from CommonJS to native ES Modules (NodeNext), providing full Node.js v24 compatibility and eliminating the CJS interop shim layer.