Orbit documentation: docs, wiki and FAQ pages

This commit is contained in:
reverse 2026-06-20 06:34:12 +00:00
commit bcbe5fff22
No known key found for this signature in database
18 changed files with 714 additions and 0 deletions

29
wiki/commands.md Normal file
View file

@ -0,0 +1,29 @@
# Slash commands
Type these in the composer. Anything not starting with `/` is sent as a message.
| Command | What it does |
|---------|--------------|
| `/join #channel` | Join a channel (and switch to it). |
| `/part` | Leave the current channel. |
| `/msg <nick> <text>` | Open a private message. |
| `/me <action>` | Send a `/me` action. |
| `/nick <newnick>` | Change your nick. |
| `/whois <nick>` | Look up a user (opens their profile). |
| `/topic <text>` | Set the channel topic. |
| `/kick <nick> [reason]` | Kick a user (ops). |
| `/ban <nick>` | Ban a user (ops). |
| `/op` / `/deop` / `/voice <nick>` | Change a user's mode (ops). |
| `/ignore` / `/unignore <nick>` | Hide / show a user's messages. |
| `/list` | Browse channels. |
| `/clear` | Clear the current buffer. |
## Editor shortcuts
- **↑ / ↓** — recall your previously sent messages (like a shell).
- **Tab** — complete nicks, `/commands`, and `:emoji:`.
- **Shift+Enter** — newline (multi-line message).
> Heads-up: if you type a services command like `IDENTIFY nick pass` **without** the leading slash,
> Orbit catches it, sends it to NickServ privately, and warns you — your password is never
> broadcast.

22
wiki/formatting.md Normal file
View file

@ -0,0 +1,22 @@
# mIRC formatting
Orbit renders and lets you compose classic IRC formatting. Use the composer's toolbar (**B** / *I* /
underline / colour), or the keyboard:
| Style | Key | Code |
|-------|-----|------|
| Bold | Ctrl/Cmd+B | `\x02` |
| Italic | Ctrl/Cmd+I | `\x1D` |
| Underline | Ctrl/Cmd+U | `\x1F` |
| Strikethrough | — | `\x1E` |
| Monospace | — | `\x11` |
| Colour | toolbar | `\x03FF,BB` |
| Hex colour | toolbar | `\x04RRGGBB` |
| Reset | — | `\x0F` |
Colours use the 99-entry **mIRC palette** (`\x03` followed by a 12 digit foreground, optionally
`,background`). Orbit's composer writes these codes for you; incoming messages from any client are
rendered with full colour and styling.
Formatting is "sticky" — turn on bold and it stays on for the next message, exactly like classic
clients.

31
wiki/orbit-channel.md Normal file
View file

@ -0,0 +1,31 @@
# The #orbit channel & bot
**#orbit** is the project's live IRC channel. A bot named **`Pulsar`** stays connected there and does
two things.
## Commit announcements
Every push to the project's git server, Pulsar posts a GitHub-style summary to #orbit, with mIRC colours:
```
[orbit] alice pushed 2 commits to main [+0/-0/±2] https://…/compare/abc…def
[orbit] alice 1a2b3c4 - Fix a thing
[orbit] alice 5d6e7f8 - Add another thing
```
## Interactive commands
Talk to the bot in-channel or by PM (the `!` prefix):
| Command | Reply |
|---------|-------|
| `!help` | List of commands. |
| `!about` | What Orbit is + link. |
| `!commits [n]` | The latest commits, live from the repo. |
| `!stats` / `!version` | Repo stats / current version. |
| `!source` / `!app` | Repo and live-client links. |
| `!account <nick>` | Whether a nick is a registered account. |
| `!uptime` / `!ping` | Bot status. |
The bot is a Django management command, so `!account` reads the real account database. Join it from
the client: [open #orbit](https://tchatou.fr/app/?channel=%23orbit).

17
wiki/themes.md Normal file
View file

@ -0,0 +1,17 @@
# Themes
Switch in **Settings → Appearance**. Four themes ship with Orbit:
- **Light** — the clean default.
- **Dark** — low-light palette.
- **yomIRC** — a faithful retro mIRC / Windows-95 skin: silver 3D-bevelled chrome, fixed-width log
lines (`[HH:MM] <nick> text`), a flat nick list. For the nostalgic.
- **yomIRC dark** — the retro skin in a deep dark palette with a teal accent.
Deployers can set the **default theme** for new users in
[`config.json`](/docs/config/) → `defaults.theme` (`light` · `dark` · `yomirc` · `yomirc-dark`).
Other appearance options in Settings:
- **Compact mode** — denser message rows.
- **Time format** — 12h / 24h timestamps.

27
wiki/troubleshooting.md Normal file
View file

@ -0,0 +1,27 @@
# Troubleshooting
## "Connexion fermée" / the socket closes immediately
The IRC server is rejecting the **Origin**. Add the host Orbit is served from to the server's
WebSocket origin allow-list (e.g. InspIRCd `<wsorigin allow="https://chat.example.org">`).
## I don't see the latest version after a deploy
A service worker is serving the cached build. **Bump the cache version** in `public/sw.js` on every
deploy (`const CACHE = 'app-vN'`) — the worker then auto-reloads installed clients. Or hard-refresh.
## Notifications don't work
- The browser must grant permission (Settings → Notifications).
- Web Push when the tab is closed needs the server's `draft/webpush` support (VAPID) **and** you to
be logged into an account (subscriptions are stored per account).
## The keyboard covers the input on mobile
Orbit tracks the visual viewport to keep the composer above the keyboard. This works best on
Chromium-based browsers; some other mobile browsers report the viewport late.
## Channels start empty
Server-side history needs `draft/chathistory` + a storage backend on the server, and the channel
must have history enabled (e.g. InspIRCd `+H`). Without it, channels begin empty.