Ettore Di Giacinto
7ce4507da1
feat(addons): keep per-person settings that an add-on declares
...
An add-on can declare userSettings in its manifest: a key, the allowed
values and a default. The host keeps each person's answer in the account
database every frontend shares (one file when accounts are off), checks
every write against the declaration, and never asks the add-on.
GET and PUT /api/addons/{id}/user-settings read and write them. A write
needs the person's own browser session, so no API key, model or tool can
change one. A setting may carry a role that the host reads for its own
rules; the host fixes the values and the default of a role so a manifest
cannot loosen it. Pages reach their settings through sdk.userSettings,
which is bound to the add-on that calls it.
Assisted-by: Claude:claude-sonnet-5-5 go node
2026-11-03 22:46:22 +00:00
..
2026-10-22 17:57:19 +02:00
2026-10-22 17:57:19 +02:00
2026-11-03 16:15:07 +00:00
2026-11-02 18:48:39 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-10-22 17:57:19 +02:00
2026-11-03 22:33:28 +00:00
2026-10-22 17:57:19 +02:00
2026-10-22 17:57:19 +02:00
2026-11-03 22:06:43 +00:00
2026-11-03 22:06:43 +00:00
2026-11-01 12:08:23 +01:00
2026-11-02 23:50:40 +00:00
2026-10-22 17:57:19 +02:00
2026-11-02 23:50:40 +00:00
2026-11-02 23:50:40 +00:00
2026-11-03 15:54:45 +00:00
2026-11-02 18:48:39 +01:00
2026-11-02 18:48:39 +01:00
2026-11-02 18:48:39 +01:00
2026-11-02 18:48:39 +01:00
2026-11-03 21:33:36 +00:00
2026-11-02 18:48:39 +01:00
2026-11-03 22:46:22 +00:00
2026-11-03 22:46:22 +00:00
2026-11-03 22:46:22 +00:00
2026-11-01 12:08:23 +01:00
2026-11-02 23:50:40 +00:00
2026-10-24 14:29:39 +02:00
2026-10-24 14:29:39 +02:00
2026-10-22 17:57:19 +02:00
2026-11-03 16:15:07 +00:00
2026-11-03 16:15:07 +00:00
2026-05-02 15:51:36 +02:00
2026-11-03 22:46:22 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 17:05:24 +00:00
2026-11-03 22:33:28 +00:00
2026-10-04 09:34:21 +02:00
2026-10-19 22:58:38 +02:00
2026-11-01 12:08:23 +01:00
2026-11-03 21:33:36 +00:00
2026-11-03 21:33:36 +00:00
2026-09-27 07:42:20 +00:00
2026-09-27 07:42:20 +00:00
2026-09-27 07:42:20 +00:00
2026-09-27 07:42:20 +00:00
2026-10-24 14:29:39 +02:00
2026-10-24 14:29:39 +02:00
2026-10-24 14:29:39 +02:00
2026-10-24 14:29:39 +02:00
2026-11-01 12:08:23 +01:00
2026-10-24 14:29:39 +02:00
2026-10-24 14:29:39 +02:00
2026-06-12 16:21:15 +02:00
2026-06-18 11:45:22 +01:00
2026-07-15 01:09:33 +02:00
2026-09-28 08:34:56 +02:00
2026-09-28 08:34:56 +02:00
2026-10-04 09:34:21 +02:00
2026-11-03 09:21:06 +00:00
2026-06-18 11:45:22 +01:00
2026-11-01 12:08:23 +01:00
2026-10-13 08:06:49 +00:00
2026-10-13 08:06:49 +00:00
2026-11-01 12:08:23 +01:00
2026-09-24 21:20:21 +02:00
2026-11-02 23:50:40 +00:00
2026-11-03 08:38:35 +00:00
2026-11-03 22:33:28 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 21:42:50 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 16:56:49 +00:00
2026-11-02 18:48:39 +01:00
2026-11-03 10:43:37 +00:00
2026-11-03 08:39:30 +00:00
2026-11-01 18:41:33 +01:00
2026-11-03 15:54:45 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 09:21:06 +00:00
2026-11-03 09:17:42 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 08:38:11 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 21:50:57 +00:00
2026-11-03 21:50:57 +00:00
2026-11-03 08:38:35 +00:00
2026-11-01 18:41:33 +01:00
2026-11-02 23:50:40 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 10:43:37 +00:00
2026-11-03 10:43:37 +00:00
2026-11-01 12:08:23 +01:00
2026-10-23 01:00:07 +02:00
2026-07-16 09:40:29 +02:00
2026-11-01 12:08:23 +01:00
2026-11-03 08:38:35 +00:00