plugins: merge the user Plugins page into per-plugin sidebar pages
Nightly Build / build (push) Successful in 7m1s

The generic per-user #plugins page is gone: a plugin with per-user
settings hosts them in its own web_pages() sidebar page instead
(Telegram's pairing page is new; Honcho's opt-in page already existed).
The admin catalog moves from #plugin-catalog to #plugins (old hash
redirected), and user_config_schema is removed from the Plugin trait,
the API DTOs and both plugins — the my-config endpoint, the
plugin_user_configs store and the update_user_config hook stay, now
driven by each plugin's own page fragment.
This commit is contained in:
2026-07-28 20:48:03 +01:00
parent 50e1333d99
commit 4b1affa600
32 changed files with 338 additions and 371 deletions
+3 -3
View File
@@ -3,9 +3,9 @@
//! Two audiences, mirroring the Connectors split:
//! - **Admin** (`plugin.manage` capability): enable/disable, instance-wide
//! config, and the per-user access grants (`plugin_access`).
//! - **Any user**: sees the plugins granted to them (`/plugins/mine`) and
//! edits their own per-user config when the plugin declares a
//! `user_config_schema` (e.g. Telegram's pairing code).
//! - **Any user**: sees the plugins granted to them (`/plugins/mine`, read by
//! the plugins' own page fragments) and submits their own per-user config
//! (`/{id}/my-config` — e.g. Telegram's pairing code from its sidebar page).
use axum::{
extract::{Extension, Path, State},