feat: Rename to Toju and add translation
Some checks failed
Deploy Web Apps / deploy (push) Successful in 5m52s
Build Android APK / build-android-apk (push) Failing after 23m15s
Queue Release Build / prepare (push) Successful in 1m42s
Queue Release Build / build-linux (push) Failing after 9m33s
Queue Release Build / build-windows (push) Successful in 26m5s
Queue Release Build / finalize (push) Has been skipped
Some checks failed
Deploy Web Apps / deploy (push) Successful in 5m52s
Build Android APK / build-android-apk (push) Failing after 23m15s
Queue Release Build / prepare (push) Successful in 1m42s
Queue Release Build / build-linux (push) Failing after 9m33s
Queue Release Build / build-windows (push) Successful in 26m5s
Queue Release Build / finalize (push) Has been skipped
This commit is contained in:
@@ -48,7 +48,7 @@ This avoids:
|
||||
1. Add trusted signaling server URLs in desktop settings.
|
||||
2. Start the Local API server.
|
||||
3. Call `POST /api/auth/login` with `username`, `password`, and `serverUrl`.
|
||||
4. MetoYou validates credentials through the signaling server.
|
||||
4. Toju validates credentials through the signaling server.
|
||||
5. The desktop app issues an opaque local bearer token.
|
||||
6. Use `Authorization: Bearer <token>` for protected routes.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 1
|
||||
|
||||
# Contributing
|
||||
|
||||
MetoYou is an npm-managed monorepo.
|
||||
Toju is an npm-managed monorepo.
|
||||
|
||||
## Packages
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ sidebar_position: 5
|
||||
|
||||
# LLM Plugin Builder Guide
|
||||
|
||||
Copy this page into an LLM prompt when you want it to build a MetoYou plugin. It is intentionally explicit about the app, communication model, visual structure, manifest format, runtime rules, API types, and examples so the model has fewer gaps to invent around.
|
||||
Copy this page into an LLM prompt when you want it to build a Toju plugin. It is intentionally explicit about the app, communication model, visual structure, manifest format, runtime rules, API types, and examples so the model has fewer gaps to invent around.
|
||||
|
||||
## Task For The LLM
|
||||
|
||||
Build a MetoYou client plugin: a browser-safe JavaScript ES module with a `toju-plugin.json` manifest, loaded by the Angular renderer, running inside the user's local MetoYou app, using only browser APIs and the provided `TojuClientPluginApi`.
|
||||
Build a Toju client plugin: a browser-safe JavaScript ES module with a `toju-plugin.json` manifest, loaded by the Angular renderer, running inside the user's local Toju app, using only browser APIs and the provided `TojuClientPluginApi`.
|
||||
|
||||
Return a plugin folder like this:
|
||||
|
||||
@@ -22,7 +22,7 @@ my-plugin/
|
||||
|
||||
## Hard Rules
|
||||
|
||||
- Do not modify MetoYou core unless the user explicitly asks for a core code change.
|
||||
- Do not modify Toju core unless the user explicitly asks for a core code change.
|
||||
- Use plain browser ESM in `main.js`. Do not use Node APIs, `require`, `fs`, `path`, `child_process`, or build tooling unless explicitly requested.
|
||||
- Use `toju-plugin.json` as the manifest name.
|
||||
- Put every disposable returned by plugin APIs in `context.subscriptions`.
|
||||
@@ -35,9 +35,9 @@ my-plugin/
|
||||
- Server-installed plugins are requirement metadata plus local client downloads. The signaling server never executes plugin entrypoints.
|
||||
- Every event used with `api.events.*` must be declared in the manifest `events` array.
|
||||
|
||||
## What MetoYou Is
|
||||
## What Toju Is
|
||||
|
||||
MetoYou is a Discord-like chat and voice app:
|
||||
Toju is a Discord-like chat and voice app:
|
||||
|
||||
- `toju-app/`: Angular renderer and plugin runtime.
|
||||
- `electron/`: Electron desktop shell, preload bridge, local database, local REST API, local docs host.
|
||||
@@ -178,7 +178,7 @@ Minimal manifest:
|
||||
"schemaVersion": 1,
|
||||
"id": "example.my-plugin",
|
||||
"title": "My Plugin",
|
||||
"description": "Adds a focused MetoYou feature.",
|
||||
"description": "Adds a focused Toju feature.",
|
||||
"version": "1.0.0",
|
||||
"kind": "client",
|
||||
"scope": "client",
|
||||
@@ -855,7 +855,7 @@ const currentUser = api.profile.getCurrent();
|
||||
|
||||
api.profile.update({
|
||||
displayName: 'Ludde the Builder',
|
||||
description: 'Building plugins for MetoYou.'
|
||||
description: 'Building plugins for Toju.'
|
||||
});
|
||||
|
||||
api.profile.updateAvatar({
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 4
|
||||
|
||||
# Local REST API
|
||||
|
||||
The MetoYou desktop app exposes an optional local HTTP API for scripts and tools. It is implemented in Electron and reads local desktop data.
|
||||
The Toju desktop app exposes an optional local HTTP API for scripts and tools. It is implemented in Electron and reads local desktop data.
|
||||
|
||||
## Enable the API
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ slug: /
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# MetoYou Documentation
|
||||
# Toju Documentation
|
||||
|
||||
MetoYou is a desktop-first chat app with text channels, voice channels, direct messages, plugins, local desktop storage, a local REST API, and a Docusaurus documentation site bundled into the app.
|
||||
Toju is a desktop-first chat app with text channels, voice channels, direct messages, plugins, local desktop storage, a local REST API, and a Docusaurus documentation site bundled into the app.
|
||||
|
||||
This site is split into three paths:
|
||||
|
||||
@@ -26,7 +26,7 @@ The Electron app can host this documentation locally. The docs endpoint is not a
|
||||
|
||||
## Runtime Boundaries
|
||||
|
||||
MetoYou keeps responsibilities split by package:
|
||||
Toju keeps responsibilities split by package:
|
||||
|
||||
- `toju-app/` is the Angular product client and plugin runtime.
|
||||
- `electron/` is the main process, preload bridge, IPC, local persistence, and local HTTP host.
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 12
|
||||
|
||||
# Slash Commands API
|
||||
|
||||
The Commands API lets plugins register `/` slash commands. When a user types `/` in the chat composer, MetoYou shows a Discord-style autocomplete menu of available commands. Selecting a command (click, `Enter`, or `Tab`) runs it — either immediately when it declares no options, or after the user types the requested arguments.
|
||||
The Commands API lets plugins register `/` slash commands. When a user types `/` in the chat composer, Toju shows a Discord-style autocomplete menu of available commands. Selecting a command (click, `Enter`, or `Tab`) runs it — either immediately when it declares no options, or after the user types the requested arguments.
|
||||
|
||||
## Required Capabilities
|
||||
|
||||
@@ -28,7 +28,7 @@ Use `global` for commands that work without a server context (e.g. `/help`, `/sh
|
||||
|
||||
## Options and Argument Parsing
|
||||
|
||||
Declare `options` to describe the arguments a command accepts. MetoYou parses what the user typed after the command name and passes the result to `run` as `context.args`, keyed by option name.
|
||||
Declare `options` to describe the arguments a command accepts. Toju parses what the user typed after the command name and passes the result to `run` as `context.args`, keyed by option name.
|
||||
|
||||
```ts
|
||||
interface PluginApiSlashCommandOption {
|
||||
@@ -104,7 +104,7 @@ Returns every slash command currently registered across all active plugins, incl
|
||||
|
||||
## Built-in Commands
|
||||
|
||||
MetoYou ships first-party commands that are always available without any plugin, such as `/lenny` (posts `( ͡° ͜ʖ ͡°)`). They appear in the same autocomplete menu tagged as **Built-in**. Plugin commands are listed alongside them; if a plugin registers a command with the same name as a built-in, both appear and the user can pick either.
|
||||
Toju ships first-party commands that are always available without any plugin, such as `/lenny` (posts `( ͡° ͜ʖ ͡°)`). They appear in the same autocomplete menu tagged as **Built-in**. Plugin commands are listed alongside them; if a plugin registers a command with the same name as a built-in, both appear and the user can pick either.
|
||||
|
||||
## How Input Is Handled
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@ export function activate(context) {
|
||||
|
||||
Toolbar actions are command-style plugin entries shown in the server side panel's View plugins menu. Use them for small actions that should be easy to launch from a server, such as opening a plugin page, sending a status message, starting a timer, or toggling a plugin feature.
|
||||
|
||||
The View plugins link appears in `[data-testid="plugin-room-side-panel"]` when the plugin side-panel area is rendered. Opening it shows an overlay menu, positioned like profile-card overlays, with registered actions laid out as plugin icon tiles. The `icon` field can be short text such as `RH`, an emoji, or an image URL; when omitted, MetoYou falls back to initials from the plugin/action labels.
|
||||
The View plugins link appears in `[data-testid="plugin-room-side-panel"]` when the plugin side-panel area is rendered. Opening it shows an overlay menu, positioned like profile-card overlays, with registered actions laid out as plugin icon tiles. The `icon` field can be short text such as `RH`, an emoji, or an image URL; when omitted, Toju falls back to initials from the plugin/action labels.
|
||||
|
||||
Toolbar action callbacks receive an action context with `source: 'toolbarAction'`, the current user, current server, active text channel, and current voice channel when available.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 1
|
||||
|
||||
# Create a Plugin
|
||||
|
||||
MetoYou plugins are browser-safe ES modules loaded by the Angular renderer. A plugin receives a frozen `TojuClientPluginApi`, declares every privileged capability in its manifest, and registers cleanup work through disposables.
|
||||
Toju plugins are browser-safe ES modules loaded by the Angular renderer. A plugin receives a frozen `TojuClientPluginApi`, declares every privileged capability in its manifest, and registers cleanup work through disposables.
|
||||
|
||||
## Folder Layout
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ interface TojuPluginManifest {
|
||||
|
||||
`scope: "server"` marks a plugin as server-scoped. Server-scoped store entries can be installed to a chat server as requirements. Required server plugins are auto-installed for members when that server opens; optional requirements stay listed but do not auto-install.
|
||||
|
||||
When a user installs a server-scoped plugin into the server they are currently viewing, MetoYou enables that plugin id locally and activates the plugin immediately after the local manifest is registered. Installing a server-scoped plugin for another server records the activation preference so it activates when that server is opened.
|
||||
When a user installs a server-scoped plugin into the server they are currently viewing, Toju enables that plugin id locally and activates the plugin immediately after the local manifest is registered. Installing a server-scoped plugin for another server records the activation preference so it activates when that server is opened.
|
||||
|
||||
## Entrypoint and Bundle
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 1
|
||||
|
||||
# First Steps
|
||||
|
||||
MetoYou is a chat app for servers, text conversations, direct messages, and live voice. You do not need to understand the technical parts to use it.
|
||||
Toju is a chat app for servers, text conversations, direct messages, and live voice. You do not need to understand the technical parts to use it.
|
||||
|
||||
## Main Words
|
||||
|
||||
@@ -18,11 +18,11 @@ MetoYou is a chat app for servers, text conversations, direct messages, and live
|
||||
|
||||
## Sign In
|
||||
|
||||
1. Open MetoYou.
|
||||
1. Open Toju.
|
||||
2. Sign in with your username and password.
|
||||
3. If you use more than one signaling server, choose the server endpoint that owns your account.
|
||||
|
||||
A signaling server handles accounts, server discovery, membership, and connection setup. In normal use you can think of it as the place MetoYou checks when you log in and join servers.
|
||||
A signaling server handles accounts, server discovery, membership, and connection setup. In normal use you can think of it as the place Toju checks when you log in and join servers.
|
||||
|
||||
## Find a Server
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 5
|
||||
|
||||
# Plugins for Users
|
||||
|
||||
Plugins add features to MetoYou. They can add pages, buttons, panels, settings, sounds, message tools, custom embeds, or server-specific behavior.
|
||||
Plugins add features to Toju. They can add pages, buttons, panels, settings, sounds, message tools, custom embeds, or server-specific behavior.
|
||||
|
||||
## Types of Plugins
|
||||
|
||||
@@ -44,7 +44,7 @@ Desktop builds can discover local plugin folders from the app data plugins direc
|
||||
|
||||
## Server Plugin Prompts
|
||||
|
||||
When a server uses plugins, MetoYou may show a prompt.
|
||||
When a server uses plugins, Toju may show a prompt.
|
||||
|
||||
| Status | Meaning |
|
||||
| ------------ | --------------------------------------------------------------------------------- |
|
||||
@@ -85,4 +85,4 @@ The Plugin Manager lets you:
|
||||
|
||||
## Plugin Safety Notes
|
||||
|
||||
Plugins are browser-safe JavaScript modules loaded by the client. They do not run on the signaling server. A plugin can only call privileged MetoYou APIs when its manifest declares the capability and you grant it.
|
||||
Plugins are browser-safe JavaScript modules loaded by the client. They do not run on the signaling server. A plugin can only call privileged Toju APIs when its manifest declares the capability and you grant it.
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 2
|
||||
|
||||
# Servers and Channels
|
||||
|
||||
A server is the main shared space in MetoYou. Servers contain members, channels, permissions, optional plugins, and server settings.
|
||||
A server is the main shared space in Toju. Servers contain members, channels, permissions, optional plugins, and server settings.
|
||||
|
||||
## Server Rail
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Settings control the app, voice, plugins, servers, themes, updates, local APIs,
|
||||
|
||||
## Local Data
|
||||
|
||||
Desktop MetoYou stores local app data on your device. That can include rooms, messages, users, plugin data, settings, and metadata. The desktop settings include data import/export tools.
|
||||
Desktop Toju stores local app data on your device. That can include rooms, messages, users, plugin data, settings, and metadata. The desktop settings include data import/export tools.
|
||||
|
||||
## Local API and Documentation Hosting
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Type `/` at the start of the message box to open the slash command menu. It list
|
||||
- Press `Escape` to close the menu.
|
||||
- A command that needs extra text fills the box with `/name ` so you can type the rest, then send it.
|
||||
|
||||
MetoYou includes built-in commands such as `/lenny`, which posts `( ͡° ͜ʖ ͡°)`. Plugins can add their own commands, which appear in the same menu (tagged with the plugin name). Slash commands are available in both text channels and direct messages; some plugin commands only appear inside a server. Text that starts with `/` but matches no command is sent as a normal message.
|
||||
Toju includes built-in commands such as `/lenny`, which posts `( ͡° ͜ʖ ͡°)`. Plugins can add their own commands, which appear in the same menu (tagged with the plugin name). Slash commands are available in both text channels and direct messages; some plugin commands only appear inside a server. Text that starts with `/` but matches no command is sent as a normal message.
|
||||
|
||||
## Attachments and Media
|
||||
|
||||
@@ -42,8 +42,8 @@ Attachments can appear as files, images, audio, or video depending on the file t
|
||||
|
||||
## Message Sync
|
||||
|
||||
MetoYou stores messages locally and syncs recent messages with peers when connections are available. If you were offline, messages may appear after peers reconnect and exchange their recent message lists.
|
||||
Toju stores messages locally and syncs recent messages with peers when connections are available. If you were offline, messages may appear after peers reconnect and exchange their recent message lists.
|
||||
|
||||
## Plugin Messages
|
||||
|
||||
Some plugins can send messages, create bot-style plugin users, render custom embeds, or add composer buttons. MetoYou asks for plugin capability grants before plugins can use privileged message features.
|
||||
Some plugins can send messages, create bot-style plugin users, render custom embeds, or add composer buttons. Toju asks for plugin capability grants before plugins can use privileged message features.
|
||||
@@ -45,7 +45,7 @@ When someone shares camera or screen, the voice workspace can expand into a larg
|
||||
|
||||
## Floating Voice Controls
|
||||
|
||||
If you navigate away from the server while still connected to voice, MetoYou can show floating voice controls. Use them to return to the voice server or leave the call.
|
||||
If you navigate away from the server while still connected to voice, Toju can show floating voice controls. Use them to return to the voice server or leave the call.
|
||||
|
||||
## Voice Settings
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Using MetoYou
|
||||
# Using Toju
|
||||
|
||||
## Sign In
|
||||
|
||||
MetoYou signs in through a signaling server. The signaling server validates the user account, coordinates server membership, relays selected realtime messages, and helps peers establish WebRTC connections.
|
||||
Toju signs in through a signaling server. The signaling server validates the user account, coordinates server membership, relays selected realtime messages, and helps peers establish WebRTC connections.
|
||||
|
||||
For the desktop Local API, the same signaling server allow-list is used before local bearer tokens can be issued. This keeps local automation tied to servers you explicitly trust.
|
||||
|
||||
@@ -39,7 +39,7 @@ Desktop builds include platform integrations such as Linux display-server detect
|
||||
|
||||
Open the Plugin Store from the title bar package button or menu. The plugin manager separates global client plugins from server-scoped plugins. Installed plugins can be activated, reloaded, unloaded, disabled, inspected for logs, and granted capabilities.
|
||||
|
||||
Plugins are explicit runtime modules. MetoYou loads browser-safe ES modules, passes a frozen API object, and cleans up registered disposables when a plugin unloads.
|
||||
Plugins are explicit runtime modules. Toju loads browser-safe ES modules, passes a frozen API object, and cleans up registered disposables when a plugin unloads.
|
||||
|
||||
## Desktop Settings
|
||||
|
||||
Reference in New Issue
Block a user