maziggy
0cc7cf0f36
Refuse null for number and on/off settings, and read bad rows as the default (issue #2518 )
...
A PUT /settings with null for a number setting stored the literal
"None". From then on int()/float() raised inside the response builder,
and every settings read returned 503 until the row was fixed by hand.
Explicit null for any boolean or numeric setting is now refused with a
422 that names the keys, and nothing in that request is saved. A numeric
row that does not parse reads back as its default with a warning, so an
install that already stored one recovers. The typed-key lists moved to
module constants so the save check and the read path share them.
2026-09-28 11:32:02 +02:00
..
2026-08-16 11:45:46 +02:00
2026-09-24 11:59:30 +02:00
2026-08-23 10:36:50 +02:00
2026-08-28 12:18:27 +02:00
2026-08-10 11:43:23 +02:00
2026-09-18 13:38:02 +02:00
2026-08-10 11:43:23 +02:00
2026-08-15 10:38:51 +02:00
2026-06-26 12:31:48 +02:00
2026-09-23 16:58:14 +02:00
2026-07-16 08:38:42 +02:00
2026-07-11 13:38:15 +02:00
2026-09-20 12:12:56 +02:00
2026-09-20 12:12:56 +02:00
2026-06-11 14:49:52 +02:00
2026-08-19 09:06:11 +02:00
2026-08-14 14:26:30 +02:00
2026-09-26 15:37:19 +02:00
2026-09-26 12:51:53 +02:00
2026-08-18 14:04:18 +02:00
2026-08-18 16:23:32 +02:00
2026-07-11 09:33:52 +02:00
2026-07-27 11:01:43 +02:00
2026-09-26 15:59:03 +02:00
2026-09-18 17:55:06 +02:00
2026-09-26 12:51:53 +02:00
2026-08-14 15:32:40 +02:00
2026-09-20 10:06:47 +02:00
2026-08-05 16:10:04 -04:00
2026-08-25 12:17:23 +02:00
2026-09-20 11:13:20 +02:00
2026-06-23 11:34:15 +02:00
2026-06-08 09:30:16 +02:00
2026-06-25 09:57:15 +02:00
2026-09-20 11:49:00 +02:00
2026-08-26 08:57:44 +02:00
2026-06-25 20:10:25 +02:00
2026-09-19 12:51:19 +02:00
2026-09-26 08:56:48 +02:00
2026-09-26 09:51:52 +02:00
2026-09-26 08:56:48 +02:00
2026-08-10 13:09:24 +02:00
2026-06-22 12:27:58 +02:00
2026-08-13 10:26:59 +02:00
2026-08-03 11:10:11 +02:00
2026-08-01 11:37:01 +02:00
2026-08-25 12:17:23 +02:00
2026-08-25 12:17:23 +02:00
2026-08-14 14:49:55 +02:00
2026-06-02 14:58:10 +02:00
2026-09-20 12:12:56 +02:00
2026-09-20 12:12:56 +02:00
2026-09-28 10:48:51 +02:00
2026-08-25 17:17:26 +02:00
2026-09-27 12:45:50 +02:00
2026-09-28 10:21:46 +02:00
2026-08-25 08:49:24 +02:00
2026-08-01 09:17:33 +00:00
2026-07-28 21:05:29 +00:00
2026-07-28 21:05:29 +00:00
2026-07-09 09:02:34 +02:00
2026-07-17 08:16:35 +02:00
2026-09-27 12:04:05 +02:00
2026-09-26 08:56:48 +02:00
2026-08-15 10:38:51 +02:00
2026-07-28 13:36:55 +02:00
2026-09-26 12:18:40 +02:00
2026-09-26 15:37:19 +02:00
2026-07-30 21:51:13 +02:00
2026-09-22 09:45:56 +02:00
2026-09-07 10:15:06 +02:00
2026-09-07 13:38:15 +02:00
2026-08-10 11:43:23 +02:00
2026-08-14 11:27:50 +02:00
2026-06-09 13:32:15 +02:00
2026-09-21 15:26:09 +02:00
2026-06-28 11:18:18 +02:00
2026-09-20 10:06:47 +02:00
2026-08-15 10:38:51 +02:00
2026-09-26 13:37:02 +02:00
2026-09-23 16:58:14 +02:00
2026-06-16 12:00:27 +02:00
2026-09-28 11:32:02 +02:00
2026-09-07 12:48:31 +02:00
2026-06-21 11:55:37 +02:00
2026-08-14 16:02:53 +02:00
2026-06-27 13:56:18 +02:00
2026-09-28 10:48:51 +02:00
2026-08-27 13:03:15 +02:00
2026-06-20 15:50:58 +02:00
2026-06-22 10:14:31 +02:00
2026-08-27 13:03:15 +02:00
2026-06-05 09:22:05 +02:00
2026-09-19 11:32:10 +02:00
2026-08-29 13:26:09 +02:00
2026-08-25 16:45:50 +02:00
2026-09-28 09:58:16 +02:00
2026-06-23 11:34:15 +02:00
2026-06-17 11:33:23 +02:00
2026-06-17 11:33:23 +02:00
2026-08-25 17:17:26 +02:00
2026-08-22 12:26:18 +02:00
2026-07-18 09:58:21 +02:00
2026-08-14 14:26:30 +02:00
2026-06-22 14:23:30 +02:00
2026-08-17 09:26:13 +02:00
2026-08-03 15:12:02 +02:00
2026-09-26 12:51:53 +02:00
2026-06-12 13:27:17 +02:00
2026-08-10 11:43:23 +02:00
2026-06-19 11:29:07 +02:00
2026-06-02 12:57:51 +02:00
2026-07-20 17:55:56 +02:00