diff --git a/README.md b/README.md index c738db4..ad016f9 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ docs/ │ │ └── reference/ │ ├── content.config.ts # registers the docs collection │ └── styles/ -│ └── custom.css # brand colours, screenshot-placeholder style +│ └── custom.css # brand colours └── tsconfig.json ``` @@ -91,30 +91,9 @@ import { Icon } from 'astro-icon/components'; See the [Starlight docs](https://starlight.astro.build/components/asides/) for the full component list. -### Screenshot placeholders +### Screenshots -The site uses styled placeholders so every screenshot slot is visible -while writing: - -```mdx -
-  Screenshot placeholder: short description of what should be here. -
-``` - -The style lives in [src/styles/custom.css](src/styles/custom.css). -Replace the `
` with a real `![alt](path.png)` (and drop the image -into `src/assets/`) when the screenshot lands. - -### Em-dashes and special characters - -By convention this site avoids em-dashes (`-`) and decorative Unicode -that does not render predictably across platforms. Use commas, -periods, or hyphens. - -For autolinks, write `[label](https://example.com)` instead of -``. MDX is stricter than plain Markdown about -the latter inside lists. +Use real captures of the current client with descriptive alt text. Do not add screenshot placeholders to published pages. ## Verify before pushing @@ -181,19 +160,11 @@ culprits are: ## Contributing screenshots -1. Take a screenshot at a sensible window size (the default app - width, around 1280 wide, looks best on the docs site). -2. Save as `.png` or `.webp` under `src/assets/screenshots/
/`. -3. Replace the matching `
` with: - - ```mdx - import myShot from '../../assets/screenshots/section/my-shot.png'; +Capture the current client at a readable window size and save PNG or WebP files under `public/`. Use original sample assets from the parent e2e repository’s `assets/sample-profiles/` directory. - Short description of the screenshot. - ``` +The October 2026 desktop captures render the actual React client in Edge with deterministic sample users, avatars, messages, and settings. Native responses are fixtures; these images demonstrate the UI and do not verify a live server operation. The screen-sharing capture uses the client’s preview harness. -4. Run `npm run build` to confirm the image is included and the - build passes. +Add an image with descriptive alt text to the relevant guide, inspect the rendered result, and run `npm run build`. Remove unused superseded screenshots. ## License diff --git a/astro.config.mjs b/astro.config.mjs index 7cbe8da..84005a1 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -44,7 +44,7 @@ export default defineConfig({ starlight({ title: "Fancy Mumble", description: - "Documentation for the Fancy Mumble app, server, and Docker image. Voice chat reimagined for 2026.", + "Documentation for the Fancy Mumble app and Starling server. Voice chat reimagined for 2026.", logo: { src: "./src/assets/logo.svg", replacesTitle: false, @@ -168,6 +168,7 @@ export default defineConfig({ badge: { text: "Ops", variant: "note" }, items: [ { label: "Docker quick start", link: "/server/docker/" }, + { label: "Migrating to Starling", link: "/server/migrating-to-starling/" }, { label: "First-run setup", link: "/server/wizard/" }, { label: "Configuration reference", link: "/server/config/" }, { label: "Ports & networking", link: "/server/network/" }, diff --git a/public/android.jpg b/public/android.jpg deleted file mode 100644 index 8dee3ff..0000000 Binary files a/public/android.jpg and /dev/null differ diff --git a/public/mainpage.png b/public/mainpage.png index aa6e0e9..572bc04 100644 Binary files a/public/mainpage.png and b/public/mainpage.png differ diff --git a/public/preview.png b/public/preview.png index aa6e0e9..9bf0e7b 100644 Binary files a/public/preview.png and b/public/preview.png differ diff --git a/public/screenshot-admin-acl-1.png b/public/screenshot-admin-acl-1.png new file mode 100644 index 0000000..6570145 Binary files /dev/null and b/public/screenshot-admin-acl-1.png differ diff --git a/public/screenshot-admin-bans-1.png b/public/screenshot-admin-bans-1.png new file mode 100644 index 0000000..1aca903 Binary files /dev/null and b/public/screenshot-admin-bans-1.png differ diff --git a/public/screenshot-admin-emotes-1.png b/public/screenshot-admin-emotes-1.png new file mode 100644 index 0000000..f377732 Binary files /dev/null and b/public/screenshot-admin-emotes-1.png differ diff --git a/public/screenshot-admin-marketplace-1.png b/public/screenshot-admin-marketplace-1.png new file mode 100644 index 0000000..6d00018 Binary files /dev/null and b/public/screenshot-admin-marketplace-1.png differ diff --git a/public/screenshot-admin-onboarding-1.png b/public/screenshot-admin-onboarding-1.png new file mode 100644 index 0000000..59eb78f Binary files /dev/null and b/public/screenshot-admin-onboarding-1.png differ diff --git a/public/screenshot-admin-roles-1.png b/public/screenshot-admin-roles-1.png new file mode 100644 index 0000000..8009c28 Binary files /dev/null and b/public/screenshot-admin-roles-1.png differ diff --git a/public/screenshot-admin-users-1.png b/public/screenshot-admin-users-1.png new file mode 100644 index 0000000..976db4d Binary files /dev/null and b/public/screenshot-admin-users-1.png differ diff --git a/public/screenshot-getting-started-connect-1.png b/public/screenshot-getting-started-connect-1.png index 5016cca..c6bcf83 100644 Binary files a/public/screenshot-getting-started-connect-1.png and b/public/screenshot-getting-started-connect-1.png differ diff --git a/public/screenshot-getting-started-connect-2.png b/public/screenshot-getting-started-connect-2.png deleted file mode 100644 index bb88c34..0000000 Binary files a/public/screenshot-getting-started-connect-2.png and /dev/null differ diff --git a/public/screenshot-getting-started-connect-3.png b/public/screenshot-getting-started-connect-3.png deleted file mode 100644 index fa5ce83..0000000 Binary files a/public/screenshot-getting-started-connect-3.png and /dev/null differ diff --git a/public/screenshot-getting-started-connect-4.png b/public/screenshot-getting-started-connect-4.png deleted file mode 100644 index 6f81357..0000000 Binary files a/public/screenshot-getting-started-connect-4.png and /dev/null differ diff --git a/public/screenshot-getting-started-first-call-1.png b/public/screenshot-getting-started-first-call-1.png index ab7340c..572bc04 100644 Binary files a/public/screenshot-getting-started-first-call-1.png and b/public/screenshot-getting-started-first-call-1.png differ diff --git a/public/screenshot-getting-started-first-call-2.png b/public/screenshot-getting-started-first-call-2.png index e3ec2fa..340e843 100644 Binary files a/public/screenshot-getting-started-first-call-2.png and b/public/screenshot-getting-started-first-call-2.png differ diff --git a/public/screenshot-getting-started-install-2.png b/public/screenshot-getting-started-install-2.png index 915bf16..8abaa0a 100644 Binary files a/public/screenshot-getting-started-install-2.png and b/public/screenshot-getting-started-install-2.png differ diff --git a/public/screenshot-server-features-link-previews-1.png b/public/screenshot-server-features-link-previews-1.png index 6c5bdf8..18c96fc 100644 Binary files a/public/screenshot-server-features-link-previews-1.png and b/public/screenshot-server-features-link-previews-1.png differ diff --git a/public/screenshot-server-features-persistent-chat-1.png b/public/screenshot-server-features-persistent-chat-1.png index 0760726..ab3949b 100644 Binary files a/public/screenshot-server-features-persistent-chat-1.png and b/public/screenshot-server-features-persistent-chat-1.png differ diff --git a/public/screenshot-server-features-persistent-chat-2.png b/public/screenshot-server-features-persistent-chat-2.png deleted file mode 100644 index 66c9e77..0000000 Binary files a/public/screenshot-server-features-persistent-chat-2.png and /dev/null differ diff --git a/public/screenshot-server-features-push-1.jpg b/public/screenshot-server-features-push-1.jpg deleted file mode 100644 index d89af9e..0000000 Binary files a/public/screenshot-server-features-push-1.jpg and /dev/null differ diff --git a/public/screenshot-server-features-reactions-1.png b/public/screenshot-server-features-reactions-1.png index 24f9779..da2dba8 100644 Binary files a/public/screenshot-server-features-reactions-1.png and b/public/screenshot-server-features-reactions-1.png differ diff --git a/public/screenshot-server-features-watch-together-1.png b/public/screenshot-server-features-watch-together-1.png deleted file mode 100644 index 96b2511..0000000 Binary files a/public/screenshot-server-features-watch-together-1.png and /dev/null differ diff --git a/public/screenshot-server-wizard-1.png b/public/screenshot-server-wizard-1.png deleted file mode 100644 index f93f9ea..0000000 Binary files a/public/screenshot-server-wizard-1.png and /dev/null differ diff --git a/public/screenshot-troubleshooting-debug-logging-1.png b/public/screenshot-troubleshooting-debug-logging-1.png new file mode 100644 index 0000000..b12b871 Binary files /dev/null and b/public/screenshot-troubleshooting-debug-logging-1.png differ diff --git a/public/screenshot-users-audio-1.png b/public/screenshot-users-audio-1.png index f18f8d9..340e843 100644 Binary files a/public/screenshot-users-audio-1.png and b/public/screenshot-users-audio-1.png differ diff --git a/public/screenshot-users-audio-2.png b/public/screenshot-users-audio-2.png index e5ebbf3..a91efec 100644 Binary files a/public/screenshot-users-audio-2.png and b/public/screenshot-users-audio-2.png differ diff --git a/public/screenshot-users-chat-community.png b/public/screenshot-users-chat-community.png index c7376d4..572bc04 100644 Binary files a/public/screenshot-users-chat-community.png and b/public/screenshot-users-chat-community.png differ diff --git a/public/screenshot-users-file-sharing-1.png b/public/screenshot-users-file-sharing-1.png index 4040592..bbb747b 100644 Binary files a/public/screenshot-users-file-sharing-1.png and b/public/screenshot-users-file-sharing-1.png differ diff --git a/public/screenshot-users-file-sharing-2.png b/public/screenshot-users-file-sharing-2.png index 22cce21..c7de431 100644 Binary files a/public/screenshot-users-file-sharing-2.png and b/public/screenshot-users-file-sharing-2.png differ diff --git a/public/screenshot-users-notifications-1.png b/public/screenshot-users-notifications-1.png new file mode 100644 index 0000000..010f727 Binary files /dev/null and b/public/screenshot-users-notifications-1.png differ diff --git a/public/screenshot-users-personalization-1.png b/public/screenshot-users-personalization-1.png deleted file mode 100644 index 117c8e9..0000000 Binary files a/public/screenshot-users-personalization-1.png and /dev/null differ diff --git a/public/screenshot-users-personalization-2.png b/public/screenshot-users-personalization-2.png index f3c6ee5..aca1ff7 100644 Binary files a/public/screenshot-users-personalization-2.png and b/public/screenshot-users-personalization-2.png differ diff --git a/public/screenshot-users-personalization-3.png b/public/screenshot-users-personalization-3.png index fd6a88a..05bc326 100644 Binary files a/public/screenshot-users-personalization-3.png and b/public/screenshot-users-personalization-3.png differ diff --git a/public/screenshot-users-privacy-1.png b/public/screenshot-users-privacy-1.png new file mode 100644 index 0000000..1c31c42 Binary files /dev/null and b/public/screenshot-users-privacy-1.png differ diff --git a/public/screenshot-users-profile-1.png b/public/screenshot-users-profile-1.png index 747b930..b85773d 100644 Binary files a/public/screenshot-users-profile-1.png and b/public/screenshot-users-profile-1.png differ diff --git a/public/screenshot-users-profile-2.png b/public/screenshot-users-profile-2.png index 95439e4..c5159d3 100644 Binary files a/public/screenshot-users-profile-2.png and b/public/screenshot-users-profile-2.png differ diff --git a/public/screenshot-users-profile-3.png b/public/screenshot-users-profile-3.png index 6f13bcd..0ce1250 100644 Binary files a/public/screenshot-users-profile-3.png and b/public/screenshot-users-profile-3.png differ diff --git a/public/screenshot-users-screen-sharing-1.png b/public/screenshot-users-screen-sharing-1.png index 8cc80d8..72116fc 100644 Binary files a/public/screenshot-users-screen-sharing-1.png and b/public/screenshot-users-screen-sharing-1.png differ diff --git a/public/shortcuts.png b/public/shortcuts.png index 868d9cd..9d7fbc5 100644 Binary files a/public/shortcuts.png and b/public/shortcuts.png differ diff --git a/src/content/docs/admin/acl.mdx b/src/content/docs/admin/acl.mdx index 35f2d05..1ef07a3 100644 --- a/src/content/docs/admin/acl.mdx +++ b/src/content/docs/admin/acl.mdx @@ -15,9 +15,7 @@ ACLs are powerful, but easy to over-engineer. Most servers do fine with mostly-roles plus a handful of per-channel ACL tweaks. -
-  Screenshot placeholder: channel ACL tab with three rules and the inheritance indicator. -
+Current client administration screen with sample data ## Opening the ACL editor diff --git a/src/content/docs/admin/bans.mdx b/src/content/docs/admin/bans.mdx index 9177cb5..1cf7492 100644 --- a/src/content/docs/admin/bans.mdx +++ b/src/content/docs/admin/bans.mdx @@ -15,9 +15,7 @@ The **Ban list** is a server-wide block list of: Banned identities cannot connect. The list survives restarts. -
-  Screenshot placeholder: ban list with five entries and the "Add ban" button. -
+Current client administration screen with sample data ## Ban from the user list @@ -48,25 +46,9 @@ Open **Admin, Ban list**, click **Add ban**: Useful when you know who you want to block before they connect. -## Auto-ban on the older C++ server +## Connection limits -The settings below apply only to the older C++ server image. They are not Starling configuration. For Starling, consult its [current TOML reference](https://github.com/Fancy-Mumble/starling/blob/main/examples/reference.toml) before configuring connection limits: - -```yaml -environment: - MUMBLE_CONFIG_AUTOBANATTEMPTS: 5 - MUMBLE_CONFIG_AUTOBANTIMEFRAME: 60 - MUMBLE_CONFIG_AUTOBANTIME: 3600 -``` - -| Key | What | -|-----|------| -| `autobanattempts` | Failed connections per source IP that triggers a ban. | -| `autobantimeframe` | Window (seconds) in which the attempts are counted. | -| `autobantime` | How long the auto-ban lasts (seconds). | - -Auto-bans show in the ban list with a "auto" tag and can be removed -manually. +Use the [Starling configuration reference](https://github.com/Fancy-Mumble/starling/blob/main/examples/reference.toml) for gateway connection and rate limits. ## IP-range bans diff --git a/src/content/docs/admin/channels.mdx b/src/content/docs/admin/channels.mdx index 155f73d..aaf8ba7 100644 --- a/src/content/docs/admin/channels.mdx +++ b/src/content/docs/admin/channels.mdx @@ -11,9 +11,7 @@ Channels are the rooms in your server. Users sit in one channel at a time for voice; chat is per channel. -
-  Screenshot placeholder: channel tree on the left with a "Voice" parent and three child channels. -
+Current client administration screen with sample data ## Create a channel @@ -51,9 +49,7 @@ Right-click, **Edit channel**. The dialog has several tabs: | **Audio** | Bandwidth caps, codec overrides. | -
-  Screenshot placeholder: channel-edit dialog with the ACL tab open. -
+ ## Linking channels diff --git a/src/content/docs/admin/emotes.mdx b/src/content/docs/admin/emotes.mdx index 811dcac..1cdbe5b 100644 --- a/src/content/docs/admin/emotes.mdx +++ b/src/content/docs/admin/emotes.mdx @@ -15,9 +15,7 @@ This feature requires the [file server](/server/features/file-server/) to be enabled and the **Manage emotes** permission. -
-  Screenshot placeholder: custom emotes admin tab with five uploaded emotes. -
+Current client administration screen with sample data ## Upload an emote @@ -99,16 +97,7 @@ custom ones. ## Storage and limits -Stored in the file server at `/data/file-server-storage/emotes/`. - -Default limits: - -```ini -plugin.file-server.maxEmoteSizeBytes=1048576 -plugin.file-server.maxEmoteCount=1000 -``` - -Bump these in your custom INI for very large communities. +Starling stores emote assets through its file service. Keep that service’s database and object storage in your backups. Upload limits and access permissions depend on the running service configuration; use the [file-storage guide](/server/features/file-server/) and your release’s TOML reference. Legacy plugin INI keys do not configure Starling. ## Pitfalls diff --git a/src/content/docs/admin/groups.mdx b/src/content/docs/admin/groups.mdx index 535a0ca..99a680a 100644 --- a/src/content/docs/admin/groups.mdx +++ b/src/content/docs/admin/groups.mdx @@ -13,9 +13,7 @@ should use instead. Groups are still useful for **per-channel membership lists** that should not be promoted to server-wide roles. -
-  Screenshot placeholder: channel groups tab listing three groups and inheritance toggle. -
+Current client administration screen with sample data ## Groups vs roles diff --git a/src/content/docs/admin/marketplace.mdx b/src/content/docs/admin/marketplace.mdx index 1260737..91a8341 100644 --- a/src/content/docs/admin/marketplace.mdx +++ b/src/content/docs/admin/marketplace.mdx @@ -1,115 +1,18 @@ --- title: Plugin Marketplace -description: Browse and install community plugins for your Fancy Mumble server from the built-in marketplace. -sidebar: - order: 11 +description: Browse plugins and check server support before installing them. --- -import { Steps, Aside, Card } from '@astrojs/starlight/components'; +Open **Settings, Marketplace** to browse the catalogue exposed to your client. Availability depends on the catalogue, network access, and the connected server’s plugin capabilities. -The **Marketplace** tab in the admin panel connects directly to the -[Fancy Mumble Plugin Marketplace](https://plugins.fancy-mumble.com/) -— a curated directory of community plugins you can install on your -server in a single click. +Current Marketplace screen with Refresh and an empty sample catalogue - +## Check compatibility -
-  Screenshot placeholder: Marketplace tab showing a search bar and a grid of plugin cards. -
+Read a plugin’s description, required server version, capabilities, and installation instructions before enabling it. A catalogue entry does not establish compatibility with your Starling release. -## Browsing plugins +Starling has a native and WASM plugin host. Remote installation and lifecycle management are still subject to the host’s implemented admin capabilities. Do not assume that an Install control shown by a client means your deployment supports the operation. -Open **Admin > Marketplace**. The page loads the most popular plugins -automatically. Each card shows: +For a Starling deployment, follow [Server plugins](/server/plugins/using/) to install compatible artifacts and restart the affected service. Check its logs and advertised registry to confirm loading. Keep plugin configuration and data in your backups. -- Plugin name and author. -- Short description. -- Star rating and download count. -- **Official** badge for first-party plugins maintained by the Fancy - Mumble project. -- Capability tags (e.g. `slash-commands`, `modals`). - -Type in the search box to filter by name, author, or keyword. Results -update 300 ms after you stop typing. - -## Plugin detail page - -Click a card to open the full detail page. It shows: - -- Full description, author, and homepage link. -- **README** rendered from Markdown — documentation written by the - plugin author. -- **Version history** table: - - Version number. - - Release date. - - Minimum server version and minimum Fancy Mumble server version - required. - - Changelog snippet. - - **Yanked** badge if a version was pulled by the author (prefer a - different version). -- Tags and capability list. - -
-  Screenshot placeholder: Plugin detail page for "fancy-greeter" showing README and version table. -
- -## Installing a plugin - - - -1. Find the plugin you want in the search results or on the detail page. - -2. Click **Install**. - -3. The client sends an install request to your server referencing the - plugin's manifest URL from the marketplace. The server downloads - and verifies the plugin. - -4. A confirmation (or error) banner appears once the server responds. - -5. Navigate to **Server Plugins** to confirm the plugin appears in the - list and toggle it on if it is not already enabled. - - - - - -## After installing - -Once the server loads the plugin, it advertises the plugin's -**manifest** to connected clients. Each user who connects will be -prompted to review and grant trust before the plugin's UI surfaces -appear (slash commands, buttons, modals, etc.). See -[Plugins](../users/plugins) for what users see. - -## Refreshing the list - -Click **Refresh** to re-fetch the marketplace index. Useful after -a new plugin is published or if the page loaded with stale results. - -## Developer mode - -If your Fancy Mumble preferences are set to **Developer** mode, an -extra URL selector appears in the toolbar. This lets you point the -marketplace tab at a local development instance (`http://localhost`) -instead of the production registry. The selection is persisted in -your preferences and survives restarts. - - - -## See also - -- [Server Plugins](/admin/server-plugins/) — enable, disable, and uninstall plugins already on your server. -- [Using plugins (server config)](/server/plugins/using/) — install plugins manually via Docker volume mount without the marketplace. -- [Developing a plugin](/server/plugins/developing/) — build and publish your own plugin to the marketplace. +Client plugins that expose interactive surfaces also require the user’s trust. See [Client plugins](/users/plugins/). diff --git a/src/content/docs/admin/onboarding.mdx b/src/content/docs/admin/onboarding.mdx index e8e8f38..5444e88 100644 --- a/src/content/docs/admin/onboarding.mdx +++ b/src/content/docs/admin/onboarding.mdx @@ -20,9 +20,7 @@ If you have used Discord's "Community" onboarding, this is the same idea. -
-  Screenshot placeholder: onboarding modal as seen by a new user, with three questions. -
+Current client administration screen with sample data ## What you can configure @@ -66,9 +64,7 @@ idea. -
-  Screenshot placeholder: onboarding admin panel with two questions and four answers each. -
+ ## Example: gaming community diff --git a/src/content/docs/admin/roles.mdx b/src/content/docs/admin/roles.mdx index d4d88e5..b3f5ea1 100644 --- a/src/content/docs/admin/roles.mdx +++ b/src/content/docs/admin/roles.mdx @@ -13,9 +13,7 @@ everywhere on the server. Roles are the bread-and-butter of administration. -
-  Screenshot placeholder: roles list with five roles, each showing a colored badge. -
+Current client administration screen with sample data ## Built-in roles @@ -51,9 +49,7 @@ Open the role and switch to the **Members** tab: - **Bulk add** by pasting a list of usernames. -
-  Screenshot placeholder: role-members tab with five members and an autocomplete on top. -
+ ## Set permissions @@ -128,9 +124,7 @@ The Display tab of a role lets you tweak: in the sidebar). -
-  Screenshot placeholder: role display panel with the live badge preview. -
+ ## Audit log diff --git a/src/content/docs/admin/server-plugins.mdx b/src/content/docs/admin/server-plugins.mdx index 3f11c1d..8807b23 100644 --- a/src/content/docs/admin/server-plugins.mdx +++ b/src/content/docs/admin/server-plugins.mdx @@ -1,10 +1,19 @@ --- title: Server plugins -description: Understand Starling's plugin host and its current installation path. +description: Inspect and manage plugins advertised by Starling. --- -Starling has a plugins service and a Rust plugin host. It can load native plugins and WebAssembly components from its configured plugin directory. The host has been exercised with the published native examples and a WebAssembly component; installing plugin bytes over the wire and operator REST routes remain unfinished in the checked-out implementation. +Starling runs plugins inside its **plugins** service. Native plugin libraries and WebAssembly components use the host's scoped capabilities for configuration, sessions, channels, permissions, and messaging. -For now, operators place a compatible plugin binary in the configured plugins directory and enable it through the available plugin RPC. Check its startup logs and advertised plugin registry before expecting client controls to appear. A built-in service named plugins does not mean every plugin from the older C++ server has been ported. +The service reads its host options from `[services.plugins.options]`. Configure `plugins_dir` to the directory containing compatible plugin artifacts. With no directory configured, no plugins are loaded. -See the [Starling plugin-host status and porting plan](https://github.com/Fancy-Mumble/starling/blob/main/docs/PLUGIN-HOST-PLAN.md) and [feature availability](/server/features/). The older [plugin guides](/server/plugins/overview/) describe the C++ fork's host and INI configuration. +~~~toml +[services.plugins.options] +plugins_dir = "/var/lib/starling/plugins" +~~~ + +Per-plugin settings use the `plugin..` prefix inside that options table. Read the plugin's own documentation for its keys. After startup, check the service logs and advertised registry; a plugin file on disk does not prove that it loaded successfully. + +The host supports listing, enabling, disabling, and uninstalling loaded plugins. Installation from remotely uploaded bytes and the operator REST plugin routes remain unfinished in the current host plan. Place artifacts through your deployment tooling and use only the administration operations supported by your release. + +See the [plugin host implementation and plan](https://github.com/Fancy-Mumble/starling/blob/main/docs/PLUGIN-HOST-PLAN.md), [Starling configuration reference](https://github.com/Fancy-Mumble/starling/blob/main/examples/reference.toml), and [feature availability](/server/features/). diff --git a/src/content/docs/admin/superuser.mdx b/src/content/docs/admin/superuser.mdx index 0a87ed6..94d6218 100644 --- a/src/content/docs/admin/superuser.mdx +++ b/src/content/docs/admin/superuser.mdx @@ -13,6 +13,6 @@ If you lose the password, stop the server and run the command against the same d starling set-superuser-password "a-new-strong-password" --server 1 --config starling.toml ~~~ -Omit the server argument for the first configured instance. The older Docker variable MUMBLE_SUPERUSER_PASSWORD and the C++ mumble-server --set-su-pw command do not configure Starling. +Omit the server argument for the first configured instance. After logging in, set a welcome text, create channels, configure ACLs and roles, and make a [backup](/server/upgrade/). diff --git a/src/content/docs/admin/users.mdx b/src/content/docs/admin/users.mdx index 38dfc6e..3b4ed6c 100644 --- a/src/content/docs/admin/users.mdx +++ b/src/content/docs/admin/users.mdx @@ -18,9 +18,7 @@ specific username on your server. Registered users can: This page covers the **Registered users** tab in the admin panel. -
-  Screenshot placeholder: registered users tab listing eight users with role badges. -
+Current client administration screen with sample data ## Register a user @@ -34,7 +32,7 @@ The user right-clicks their own name in the user list and picks - **Auto-approves** (default for many servers). - **Queues for admin approval**. -Registration policy depends on the server implementation. The older C++ image uses MUMBLE_CONFIG_* variables; they do not configure Starling. Check the current [Starling settings reference](https://github.com/Fancy-Mumble/starling/blob/main/examples/reference.toml) and test the desired approval flow before inviting users. +Registration policy is controlled by Starling. Check the current [Starling settings reference](https://github.com/Fancy-Mumble/starling/blob/main/examples/reference.toml) and test the desired approval flow before inviting users. ### Admin-initiated diff --git a/src/content/docs/getting-started/android.mdx b/src/content/docs/getting-started/android.mdx index a14394e..17a2165 100644 --- a/src/content/docs/getting-started/android.mdx +++ b/src/content/docs/getting-started/android.mdx @@ -13,7 +13,7 @@ chat, screen-share viewing, file sharing, custom emotes) and a few small adjustments for touch. -Fancy Mumble on Android + ## Install diff --git a/src/content/docs/getting-started/connect.mdx b/src/content/docs/getting-started/connect.mdx index 38055a7..07e8106 100644 --- a/src/content/docs/getting-started/connect.mdx +++ b/src/content/docs/getting-started/connect.mdx @@ -1,37 +1,21 @@ --- title: Connect to a server -description: Add a saved server, choose an identity, and connect in Nebula or Standard. +description: Save a server address and choose the identity you will use. --- -Fancy Mumble can connect to Starling and to standard Mumble servers. Ask the server owner for its host name, port if different from **64738**, and any password. +Ask the server owner for its host name, port, and any password. The default Mumble port is **64738**. -## Add a server in Nebula +1. Choose **Add a server** from the server list. +2. Enter the address, port, username, and a friendly server label. Choose a certificate identity if you have more than one. +3. Save the entry, select it in the server list, and choose **Connect**. +4. Complete any server password or account prompt. The app can remember passwords in the operating system's credential store. -Nebula is the design for a new profile. +Current Add a server dialog with address, port, username, identity, and password fields -1. Open **Add server** from the server rail or choose **Add server by address…** from **Quick connect**. -2. Enter the host, port, and the username others should see. The dialog can also save a friendly label, certificate identity, and password. -3. Save the server. Select it in the server rail, then choose **Connect** on its server screen. -4. If prompted, enter the server password or account credentials. The app can remember a password in the operating system's credential store. +The saved entry belongs to the identity you chose. Use your server owner's address; sample addresses in documentation are examples. -Nebula Add a server dialog filled with an example display name, address, default port, and username +## Server certificates -After saving, the server screen shows the identity and **Connect** action. The example address in these screenshots is illustrative; use the address from your server owner. +The client remembers the server's TLS certificate after the first connection. If its fingerprint changes, confirm the new fingerprint with the owner before accepting it. Keep your client certificate identity when reconnecting so registered access and profile data continue to match. -Nebula saved-server screen showing an example identity and Connect action - -To find a server instead, choose **Browse public servers** from Quick connect. A server must opt into the public directory to appear there. - -## Add a server in Standard - -Open the **Connect** screen and use the **Wizard** or **+ Add Server** action. Enter the address and username, save, then select the server card to connect. Standard also has a **Public** view for browsing listed servers. Existing profiles that use Standard keep that design. - -## Certificate and identity - -The app remembers a server's TLS certificate after the first connection. If its fingerprint changes later, confirm the change with the server owner before accepting it. The owner may have restored a new data directory or replaced the certificate. - -A saved certificate identity matters for registration and some Fancy features. Nebula selects an existing default certificate when you add a server, while an existing saved server keeps the identity you chose. For account or server password problems, see [Connection troubleshooting](/troubleshooting/connection/). - -## Next step - -[Join a channel and make your first call](/getting-started/first-call/). +For failed logins, see [Connection troubleshooting](/troubleshooting/connection/). Next, [join a channel and make your first call](/getting-started/first-call/). diff --git a/src/content/docs/getting-started/first-call.mdx b/src/content/docs/getting-started/first-call.mdx index 0b0d754..fd8c0ad 100644 --- a/src/content/docs/getting-started/first-call.mdx +++ b/src/content/docs/getting-started/first-call.mdx @@ -1,118 +1,30 @@ --- title: Your first voice call -description: Move into a channel, choose between Push-to-Talk and Voice Activation, and verify everyone can hear you. -sidebar: - order: 3 +description: Join a channel, enable voice, and choose an activation mode. --- -import { Steps, Aside, Card, CardGrid } from '@astrojs/starlight/components'; -import { Icon } from 'astro-icon/components'; +After connecting, select a channel in the sidebar and use its **Join** action. Viewing a channel's chat and joining its voice room are separate actions. -You are connected. Here is how to start **talking**. +Current lounge channel showing five sample members and the voice dock at the bottom of the sidebar - +## Enable voice -## 1. Move into a channel +Use the microphone control in your voice dock. If it says **Enable voice**, the audio engine is off. Open **More, Settings, Voice** to choose the input and output devices, then turn voice on. -Mumble does not have one big room, channels are explicit. In the left -sidebar: +## Choose an activation mode -- Single-click a channel to **view** it. You will not leave your current - channel, but you can see who is in the other channel and read its - chat. -- Double-click a channel to **join** it. Your avatar moves there, and you - can talk to the people in that channel. -- Right-click a channel for the context menu (rename, ACL, link, and - more). +The **Activation mode** cards offer **Voice activation**, **Continuous**, and **Push to talk**. Voice activation transmits while you speak; Continuous transmits continuously; Push to talk transmits while your chosen shortcut is held. -The channel you are in is highlighted, and your name appears beneath -the channel in the user list. +Current Voice settings with device selectors, activation cards, and automatic or manual voice-gate calibration +## Calibrate and listen -Channel sidebar with the active channel highlighted +Choose **Auto calibrate**, press **Calibrate**, and speak naturally for about five seconds. The gate tunes its threshold, hysteresis, and hold to your microphone. **Manual calibrate** lets you adjust the Open and Close markers yourself. -## 2. Pick an activation mode +Use **Hear yourself, Record sample** to record up to twenty seconds through the filters your listeners receive, then play it back. Join a test channel with a friend and confirm that the speaking indicator responds and they can hear the start and end of your sentences. -Open **Settings, Voice** (or click your avatar then Settings). Three -modes are available: +## Mute and deafen - - - Your mic transmits when speech is detected. Threshold based. The - AI noise removal cleans the result. - - - Audio only flows while a key is held. Pick the key with the - shortcut recorder. Best for noisy rooms or for podcasters. - - - Always on, no gate, no noise removal. Use only when you need full - fidelity and the room is silent. - - +Mute stops outgoing audio. Deafen also stops incoming audio. Keep your microphone unmuted when using Push to talk; the shortcut controls transmission. - -Voice panel with the three activation mode radio options - -## 3. Calibrate - -Hit the **Calibrate** button on the Voice panel. A live level meter -pops up so you can: - -- Speak normally. The green fill should comfortably cross the - threshold line. -- Stop talking. The fill should drop back below the line. - -If your voice barely crosses the line, lower the **Threshold** or -boost **Microphone Volume**. If the line is constantly below ambient -noise, raise the threshold. - - - -## 4. Test in a Test channel - -Most servers have a *Test* or *Lobby* channel. Join it, hit your -push-to-talk key (or just talk if you are on Voice Activation), and -watch the green ring appear around your avatar. That ring is the -speaking indicator. - -You can also watch the local level meter in the header. - -## 5. Mute and deafen - -Two icons sit at the top of the window: - -- Mute outgoing audio. -- Deafen (mute plus do - not receive any audio). - -Push-to-talk users almost always leave themselves toggled-mute and -rely on the push-to-talk key instead. - -## 6. Adjust on the fly - -| If... | Then... | -|-------|---------| -| Background noise leaks through | Switch noise removal to **DeepFilterNet**. It is the heaviest and cleanest option. | -| Voice cuts at the start of sentences | Raise **Hold Frames** in Voice, Expert. | -| Audio is choppy on Wi-Fi | Lower the bitrate, or enable **Force TCP** in Voice, Network. | -| You sound quiet | Enable **Auto Gain** in Voice, Audio Processing. | - -Full details on the [Audio configuration](/users/audio/) page. - -## You are live - -That is it, you are now a fully operational Mumble user. Recommended -next stops: - - -1. Pretty up your account, see [Profile customization](/users/profile/). -2. Set per-event notification sounds, see [Notifications](/users/notifications/). -3. Bind a global mute key, see [Keyboard shortcuts](/users/shortcuts/). - +If speech cuts out, recalibrate or adjust the gate. If background noise leaks through, try another available noise-suppression algorithm. See [Audio configuration](/users/audio/) for the processing and transmission controls. diff --git a/src/content/docs/getting-started/install.mdx b/src/content/docs/getting-started/install.mdx index cea9a12..7f255d6 100644 --- a/src/content/docs/getting-started/install.mdx +++ b/src/content/docs/getting-started/install.mdx @@ -11,12 +11,7 @@ import { Icon } from 'astro-icon/components'; Fancy Mumble runs on Windows, Linux, and Android. Pick your platform below. - - - -Nebula server list on a new profile, with an Add a server action and a prompt to pick a server +Current server list on a new profile, with an Add a server action and a prompt to pick a server