# Web Client

The freeq web client is a Slack-class chat application that runs in your browser at [irc.freeq.at](https://irc.freeq.at).

## Features

- **Bluesky login** — OAuth sign-in, no passwords
- **Signed messages** — 🔒 badge on cryptographically signed messages
- **E2EE DMs** — End-to-end encrypted direct messages with safety numbers
- **Threads & replies** — Click reply to start a thread
- **Reactions** — Emoji reactions on any message
- **Message editing & deletion** — Edit with ↑, delete from context menu
- **Media upload** — Drag & drop, paste, or file picker. Images, video, audio, PDF.
- **Camera capture** — 📷 button on mobile for direct photo capture
- **Inline media** — Images, video, and audio play inline. Bluesky post and YouTube embeds.
- **Link previews** — Automatic OG metadata previews for shared links
- **Channel discovery** — Browse and search public channels
- **Pinned messages** — Pin important messages to the channel header
- **Search** — Full-text search across message history
- **Quick switcher** — ⌘K to jump to any channel
- **Mentions & notifications** — Desktop notifications on mention, badge counts
- **Channel policies** — Visual policy editor for channel access rules
- **Verified badges** — ✓ for authenticated users, 🔒 for signed messages
- **Themes** — Dark and light mode
- **PWA** — Installable as a standalone app
- **Privacy controls** — Toggle external media loading in Settings → Privacy

## Keyboard shortcuts

| Shortcut | Action |
|---|---|
| ⌘K | Quick switcher |
| ⌘F | Search messages |
| ⌘1–9 | Switch channel |
| ↑ | Edit last message |
| Tab | Autocomplete nick |
| Esc | Close panel / cancel |

## Compose features

- `/` commands — Full IRC command palette
- `@nick` — Nick autocomplete
- Markdown — `**bold**`, `*italic*`, `` `code` ``, ` ```codeblock``` `
- Multi-line paste — Splits into separate messages
- Cross-post toggle — Share media to Bluesky simultaneously
