Quick and Claude Opus 5
9ed0aefd66
feat(settings): close the unknown-key extension bag
...
keyUsesUserScope returned true for any key the registry did not know, so a
client could invent a production setting unilaterally and the server stored
it as an unvalidated string. That is how six ui.* settings and five orphan
keys reached production untyped, and it is the root enabler the design
names.
An unknown key is no longer a user setting, so the legacy write path
rejects it and the canonical API — which validates every value against its
own definition — is the only way to store something new.
jellycompat's DisplayPreferences blobs ride the same table under synthetic
keys and keep working: they are that subsystem's storage rather than user
settings, and they move to dedicated storage in the follow-up rather than
being dropped here.
Also repoints the DisplayPreferences seed at the canonical resolver.
Resolved at profile scope with no device on purpose — Jellyfin clients do
not carry Silo's device identity, so a device override leaking into the
seed would hand one device's settings to every Jellyfin client on the
account.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 00:44:33 +00:00
..
2026-06-07 17:19:40 -04:00
2026-07-09 08:53:52 -04:00
2026-07-08 11:38:26 -04:00
2026-07-22 21:41:05 -04:00
2026-07-01 09:06:24 -04:00
2026-06-10 19:25:07 -04:00
2026-07-20 11:20:50 -04:00
2026-06-26 12:27:37 -04:00
2026-06-21 16:20:04 -04:00
2026-07-09 08:53:52 -04:00
2026-07-05 02:01:30 -04:00
2026-07-05 02:01:30 -04:00
2026-07-05 02:01:30 -04:00
2026-07-02 14:23:14 -04:00
2026-07-09 08:53:52 -04:00
2026-06-18 10:20:48 -04:00
2026-07-27 01:22:23 +00:00
2026-07-09 09:02:45 -04:00
2026-07-05 02:01:30 -04:00
2026-07-21 11:03:08 -04:00
2026-06-17 13:12:18 -04:00
2026-06-17 13:12:18 -04:00
2026-06-09 21:09:47 -04:00
2026-07-21 09:50:37 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 19:25:07 -04:00
2026-05-25 19:37:25 -07:00
2026-07-27 00:23:02 +00:00
2026-06-16 17:51:00 -04:00
2026-06-18 10:20:48 -04:00
2026-07-09 12:00:49 -04:00
2026-06-08 22:36:07 -04:00
2026-07-28 00:44:33 +00:00
2026-06-09 19:16:28 -04:00
2026-06-18 10:20:48 -04:00
2026-07-01 09:06:24 -04:00
2026-07-05 02:01:30 -04:00
2026-07-10 22:30:04 -04:00
2026-06-16 17:51:00 -04:00
2026-06-16 17:51:00 -04:00
2026-05-22 23:26:56 -04:00
2026-07-01 09:05:41 -04:00
2026-07-23 09:15:19 -04:00
2026-05-22 23:26:56 -04:00
2026-06-16 17:51:00 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-06-15 18:10:40 -04:00
2026-06-08 21:05:33 -04:00
2026-06-15 15:34:13 -04:00
2026-06-15 15:34:13 -04:00
2026-05-22 23:26:56 -04:00
2026-06-08 22:36:22 -04:00
2026-07-10 08:21:26 -04:00
2026-07-10 08:21:26 -04:00
2026-06-08 22:36:22 -04:00
2026-05-22 23:26:56 -04:00
2026-06-15 18:18:10 -04:00
2026-06-15 18:18:10 -04:00
2026-07-05 02:01:30 -04:00
2026-07-01 09:06:24 -04:00
2026-07-10 08:21:26 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-26 22:29:49 -04:00
2026-06-08 21:05:33 -04:00
2026-06-07 11:10:15 -04:00
2026-06-18 19:17:22 -04:00
2026-07-06 18:52:44 -04:00
2026-05-22 23:26:56 -04:00
2026-07-01 09:06:24 -04:00
2026-06-09 21:09:47 -04:00
2026-07-02 14:23:14 -04:00
2026-07-22 23:22:09 -04:00
2026-07-22 23:22:09 -04:00
2026-07-23 09:15:19 -04:00
2026-07-23 09:15:19 -04:00
2026-07-22 23:22:09 -04:00
2026-07-22 23:22:09 -04:00
2026-07-22 22:01:02 -04:00
2026-07-07 09:29:18 -04:00
2026-05-26 17:57:26 -04:00
2026-06-18 10:20:48 -04:00
2026-07-05 02:01:30 -04:00
2026-07-09 08:53:52 -04:00
2026-06-08 21:05:33 -04:00
2026-06-27 22:02:54 -04:00
2026-07-04 23:43:19 -04:00
2026-07-09 08:53:52 -04:00
2026-07-02 14:23:14 -04:00
2026-07-05 02:01:30 -04:00
2026-06-15 09:34:08 -04:00
2026-07-22 21:41:05 -04:00
2026-05-22 23:26:56 -04:00
2026-07-01 09:05:41 -04:00
2026-07-01 09:05:41 -04:00
2026-06-18 19:17:22 -04:00
2026-07-23 09:15:19 -04:00
2026-06-08 15:25:48 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-07 11:10:15 -04:00
2026-07-09 12:00:49 -04:00
2026-06-16 11:14:14 -04:00
2026-07-22 21:41:05 -04:00
2026-07-23 09:15:19 -04:00
2026-06-26 12:26:27 -04:00
2026-07-23 09:15:19 -04:00
2026-06-09 20:42:46 -04:00
2026-07-06 18:52:44 -04:00
2026-05-22 23:26:56 -04:00
2026-06-18 19:17:22 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-06-09 16:59:55 -04:00
2026-06-15 09:34:08 -04:00
2026-07-27 00:23:02 +00:00
2026-06-15 09:34:08 -04:00