docs: add The sandbox page (built-ins + sandboxed plugins)

This commit is contained in:
orbit-docs 2026-07-04 06:44:15 +00:00
parent 44771bcdee
commit 0eb797cf84
No known key found for this signature in database
3 changed files with 127 additions and 2 deletions

View file

@ -37,7 +37,8 @@ Merge rules: objects merge key-by-key; **arrays and scalars replace** wholesale.
| `features.push` | bool | Web Push notifications — the Settings row **and** the re-subscribe-on-connect. |
| `features.imageUpload` | bool | Composer image button **and** paste / drag-drop upload. |
| `features.register` | bool | Account self-service: the "Create account" button, the "Forgot password" link, and their FAQ entries. |
| `plugins` | string[] | Plugin script URLs loaded at startup. See [Plugins](https://orbit.tchatou.fr/docs/plugins/). |
| `plugins` | string[] | Plugin script URLs loaded at startup — a bare URL runs in-page, or `{url, sandbox: true, permissions: […]}` runs isolated. See [Plugins](https://orbit.tchatou.fr/docs/plugins/). |
| `builtins` | string[] | Built-in **sandboxed** features to enable by name (opt-in; default `[]`). Currently `"dice"`. See [The sandbox](https://orbit.tchatou.fr/docs/sandbox/). |
> `defaults.*` only seed a user's preferences the **first** time — once someone changes a setting,
> it's stored in their browser and the config no longer overrides it.
@ -61,6 +62,7 @@ can still switch in **Settings**). The bundled plugins are localized too — see
"report": { "service": "ReportServ", "target": "#staff" },
"defaults": { "theme": "dark", "compact": true, "lang": "" },
"features": { "push": true, "imageUpload": true, "register": false },
"plugins": []
"plugins": [],
"builtins": []
}
```