mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-20 09:09:35 +02:00
docs(multi-user): server-wide settings writes are admin-only
api-reference gains a Settings section (GET/PUT /api/settings, the model config, the case order and PUT /api/config, with the 403 FORBIDDEN a non-admin gets in multi-user mode). The Multi-User Mode wiki page explains what a regular user's App Settings save does now, Settings-Reference links it, the plan's Settings row is marked implemented, and CLAUDE.md notes the gate for the Multi-user paragraph and for anyone adding a settings write. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
cb928aefe2
commit
31c03ab62d
5 files changed
+43
-3
No files matched your search
@@ -60,6 +60,27 @@ Admins see everything.
|
||||
Ownership threads through every list endpoint, the session lookup helper, the WebSocket
|
||||
layer, and file previews. A user cannot address another user's session even by id.
|
||||
|
||||
## Server-wide settings are admin only
|
||||
|
||||
There is one set of server settings (`~/.codeman/settings.json`) for everyone: the feature
|
||||
switches, the run mode, respawn presets, the case order, the Cloudflare tunnel, the default
|
||||
models. Every user can **read** them, but only an **admin** can change them. For a regular
|
||||
user the settings write routes answer `403 FORBIDDEN` (see the
|
||||
[HTTP API](HTTP-API) and [`docs/api-reference.md`](https://github.com/Ark0N/Codeman/blob/master/docs/api-reference.md)).
|
||||
|
||||
In the browser this means:
|
||||
|
||||
- **App Settings → Save** still keeps a regular user's per-device settings (skin, fonts,
|
||||
header buttons, keyboard bar and the rest of the per-device keys) on that device. If they
|
||||
also changed a server-wide setting, one notice says it can only be changed by an admin,
|
||||
and the setting keeps the server's value.
|
||||
- A regular user's run-mode pick and respawn presets are kept in that browser and not sent
|
||||
to the server, and their last used case is not recorded server-wide. What an admin set
|
||||
still loads on the next visit.
|
||||
- Reordering cases and switching the tunnel on or off are admin actions.
|
||||
|
||||
Per-user server settings are not part of this version.
|
||||
|
||||
## Safer defaults for regular users
|
||||
|
||||
Non-admins get tighter defaults, and lifting them is an explicit per-user grant:
|
||||
|
||||
@@ -29,6 +29,10 @@ The practical rule: **appearance and input are per device, behaviour is shared.*
|
||||
did not follow you, it is in one of the first two rows, and you change it again on that
|
||||
device.
|
||||
|
||||
In [Multi-User Mode](Multi-User-Mode) the server's settings are shared by every user, so
|
||||
only an **admin** can change them. A regular user's **Save** keeps their per-device settings
|
||||
as usual and tells them that server-wide settings can only be changed by an admin.
|
||||
|
||||
## App Settings
|
||||
|
||||
### Updates
|
||||
|
||||
Reference in new issue
Block a user