Peter Steinberger
e069b9dbdd
fix(ui): repair settings titles, scope form-unsafe banner, consolidate advanced settings ( #113160 )
...
* feat(ui): repair settings titles, scope form-unsafe banner, consolidate advanced tier
- Advanced/Notifications settings headers rendered raw i18n keys
(tabs.advanced/tabs.notifications); configPageTitle now resolves through
the nav registry titleForRoute, deleting the drifting key map.
- Form-unsafe banner is value-aware (only when the user's config has a value
at a form-unsupported path in the active scope), names the paths, offers an
Open Raw editor action, and sits in the content column instead of full-bleed.
- Advanced tier collapses to one synced toggle: hidden advanced fields render
a ghost row that enables the toggle; the Advanced page always reveals and
hides the toggle; per-section details state and the controlled-open dance
are deleted; toggle visibility mirrors the renderer's tier split.
- schema.tags no longer tags facet-less paths as "advanced" (common fields
like update.channel wore a lying chip); the chip is no longer rendered in
form rows while tag:advanced search keeps working.
* fix(config): dev bootstrap writes canonical agents.entries; finish stale agents.list sweep
- openclaw gateway run --dev failed on a fresh state dir: the bootstrap wrote
the retired agents.list array and validation rejected its own config
(Unrecognized key: list). It now writes the keyed agents.entries record;
new dev.test.ts validates the written shape against the zod schema.
- Revive the dead gateway hot-reload rule: prefix agents.list never matched
canonical config diffs, so per-agent heartbeat edits fell through to the
agents:none tail rule; the rule now matches agents.entries.
- config set replacement protection moves from the dead agents.list array
to the agents.entries map (joins plugins.entries/auth.profiles family).
- Sweep remaining stale agents.list config-path strings in hints, fix-it
messages, elevated gates, doctor hints, audit text, and type docs to
agents.entries.*; RPC ids, the internal list projection, and doctor
legacy-migration references intentionally keep the old name.
* test(ui): derive nav i18n audit from route registry; fix stale bootstrap hint assertion
- Knip flagged navigationCopyEntries (test-only export); the audit now walks
ALL_ROUTES through prod titleForRoute/subtitleForRoute and rejects raw
dotted-key output, so no export exists solely for the test.
- commands-context-report expected the retired agents.list[] hint wording.
* fix(config): align rebase resolution with main's roster-aware diagnostic
- tool-policy-diagnostic: keep main's test expectations (dotted
agents.entries.<id> paths from the roster-aware implementation); our
pre-rebase bracket-style assertions no longer match any code.
- Reapply the placeholder sweep the conflict resolution dropped:
generic agents.list[] fallbacks in tool-policy-diagnostic and the audit
sandbox-mode hint now say agents.entries.*.
2026-07-25 00:51:57 -07:00
..
2026-07-21 20:28:43 -07:00
2026-07-23 11:10:49 -07:00
2026-07-19 10:20:31 -07:00
2026-07-16 18:30:43 -07:00
2026-07-25 00:51:57 -07:00
2026-07-18 17:43:56 +01:00
2026-07-18 17:53:45 -07:00
2026-07-25 00:18:59 +08:00
2026-07-10 23:52:35 +01:00
2026-07-13 00:42:56 -07:00
2026-07-25 00:18:59 +08:00
2026-07-18 20:13:34 -07:00
2026-06-04 19:37:38 -04:00
2026-07-18 18:41:09 -07:00
2026-06-04 19:35:08 -04:00
2026-07-16 00:45:23 -07:00
2026-07-13 05:30:37 -07:00
2026-07-21 14:50:36 -07:00
2026-07-12 17:44:44 +03:00
2026-07-01 15:52:39 -07:00
2026-07-12 17:44:44 +03:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-07-15 16:57:21 -07:00
2026-07-16 20:21:06 -07:00
2026-07-16 20:21:06 -07:00
2026-07-15 17:05:07 +01:00
2026-07-15 17:05:07 +01:00
2026-07-15 17:05:07 +01:00
2026-07-22 19:57:42 -04:00
2026-07-22 19:57:42 -04:00
2026-07-22 19:57:42 -04:00
2026-07-12 17:20:30 -07:00
2026-07-12 17:20:30 -07:00
2026-06-04 10:48:30 -04:00
2026-06-26 18:33:19 +10:00
2026-07-13 00:42:56 -07:00
2026-07-22 13:44:09 -07:00
2026-07-24 12:06:02 -07:00
2026-07-24 12:06:02 -07:00
2026-07-22 17:42:42 -07:00
2026-07-25 08:33:46 +08:00
2026-06-03 15:20:39 -07:00
2026-07-20 20:07:11 -07:00
2026-06-13 19:55:37 +08:00
2026-07-13 02:32:24 -07:00
2026-07-13 02:32:24 -07:00
2026-07-20 15:49:03 -07:00
2026-06-04 10:50:04 -04:00
2026-06-04 19:37:38 -04:00
2026-06-12 09:50:31 -05:00
2026-07-15 06:11:30 -07:00
2026-07-13 02:32:24 -07:00
2026-06-22 19:11:46 +08:00
2026-06-04 19:37:38 -04:00
2026-07-13 05:05:31 -07:00
2026-07-06 17:55:50 -07:00
2026-06-19 04:44:51 +08:00
2026-07-19 09:52:21 -07:00
2026-07-14 09:28:16 -07:00
2026-06-04 19:32:43 -04:00
2026-06-04 10:50:04 -04:00
2026-07-15 17:05:07 +01:00
2026-07-21 21:35:40 -07:00
2026-07-19 11:04:48 -07:00
2026-07-15 16:57:21 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-06-04 19:35:08 -04:00
2026-06-03 15:20:39 -07:00
2026-07-20 15:49:03 -07:00
2026-07-06 17:55:50 -07:00
2026-07-16 14:57:23 -07:00
2026-07-16 14:57:23 -07:00
2026-06-14 17:31:18 -07:00
2026-07-16 14:57:23 -07:00
2026-07-16 14:57:23 -07:00
2026-06-20 04:01:08 +01:00
2026-06-17 17:41:44 +08:00
2026-07-24 00:27:00 -07:00
2026-07-24 22:38:09 -07:00
2026-07-25 00:51:57 -07:00
2026-07-24 00:27:00 -07:00
2026-07-24 00:27:00 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-07-24 00:27:00 -07:00
2026-07-20 03:31:03 -07:00
2026-07-24 22:38:09 -07:00
2026-07-24 22:38:09 -07:00
2026-06-03 15:20:39 -07:00
2026-07-20 03:31:03 -07:00
2026-07-21 10:53:37 -07:00
2026-07-21 10:53:37 -07:00
2026-06-04 19:37:38 -04:00
2026-06-03 15:20:39 -07:00
2026-07-16 16:54:23 -07:00
2026-07-16 16:54:23 -07:00
2026-07-21 15:01:30 -07:00
2026-06-03 18:43:23 -04:00
2026-07-18 11:09:21 +01:00
2026-06-03 15:20:39 -07:00
2026-07-13 05:47:05 -07:00
2026-07-13 03:22:00 -07:00
2026-06-03 18:43:23 -04:00
2026-06-04 19:32:43 -04:00
2026-06-04 19:35:08 -04:00
2026-07-14 09:27:02 -07:00
2026-07-14 09:27:02 -07:00
2026-07-10 15:05:41 +05:30
2026-06-04 19:32:43 -04:00
2026-07-10 11:56:44 +01:00
2026-07-21 20:28:43 -07:00
2026-06-04 10:55:01 -04:00
2026-07-05 12:10:24 -07:00
2026-07-07 13:44:32 +01:00
2026-07-07 13:44:32 +01:00
2026-07-18 23:23:49 -07:00
2026-07-24 22:38:09 -07:00
2026-07-25 00:41:01 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-06-04 19:37:38 -04:00
2026-06-04 10:55:01 -04:00
2026-07-11 11:24:04 -07:00
2026-07-13 21:15:36 -07:00
2026-07-18 04:07:17 +01:00
2026-07-18 03:23:52 +01:00
2026-06-03 18:25:21 -04:00
2026-07-05 12:10:24 -07:00
2026-06-22 14:00:57 +08:00
2026-06-22 14:00:57 +08:00
2026-07-01 06:55:11 -07:00
2026-07-01 06:55:11 -07:00
2026-07-11 02:05:55 -07:00
2026-06-03 18:25:21 -04:00
2026-06-22 20:18:11 +08:00
2026-06-03 15:20:39 -07:00
2026-06-19 05:18:25 +08:00
2026-07-21 01:48:25 -07:00
2026-07-13 00:42:56 -07:00
2026-07-10 11:56:44 +01:00
2026-07-20 20:07:11 -07:00
2026-07-15 03:25:36 +10:00
2026-07-18 10:25:13 +01:00
2026-06-03 15:20:39 -07:00
2026-07-18 09:30:27 +01:00
2026-07-18 09:30:27 +01:00
2026-06-04 19:32:43 -04:00
2026-06-04 10:58:50 -04:00
2026-07-10 08:49:27 +01:00
2026-07-11 20:47:34 -07:00
2026-06-04 19:37:38 -04:00
2026-06-04 10:58:50 -04:00
2026-07-19 16:56:54 +08:00
2026-07-19 16:56:54 +08:00
2026-07-18 10:25:13 +01:00
2026-07-18 10:25:13 +01:00
2026-07-20 02:34:13 -07:00
2026-07-25 00:41:01 -07:00
2026-06-04 19:35:08 -04:00
2026-06-03 15:20:39 -07:00
2026-07-15 16:57:21 -07:00
2026-06-04 19:35:08 -04:00
2026-06-04 10:58:50 -04:00
2026-06-04 19:32:43 -04:00
2026-07-21 17:46:48 +09:00
2026-07-19 06:50:31 -07:00
2026-07-19 06:50:31 -07:00
2026-06-03 18:43:23 -04:00
2026-07-14 09:28:16 -07:00
2026-07-14 09:28:16 -07:00
2026-07-09 08:33:47 +01:00
2026-07-10 22:45:54 +01:00
2026-06-03 15:20:39 -07:00
2026-06-04 19:35:08 -04:00
2026-06-04 11:01:13 -04:00
2026-07-13 00:42:56 -07:00
2026-07-15 03:25:36 +10:00
2026-07-14 00:12:02 +08:00
2026-07-14 00:12:02 +08:00
2026-07-23 11:28:54 -07:00
2026-07-23 11:28:54 -07:00
2026-06-03 15:20:39 -07:00
2026-06-04 19:32:43 -04:00
2026-06-04 11:01:13 -04:00
2026-06-30 14:15:19 -07:00
2026-07-22 04:54:20 -07:00
2026-07-09 23:02:31 +01:00
2026-07-16 00:45:23 -07:00
2026-06-11 20:52:07 +09:00
2026-06-11 20:52:07 +09:00
2026-07-11 20:47:34 -07:00
2026-07-22 19:36:31 -06:00
2026-07-22 19:36:31 -06:00
2026-06-04 19:35:08 -04:00
2026-06-18 18:40:12 +08:00
2026-06-04 19:32:43 -04:00
2026-06-04 11:01:13 -04:00
2026-07-17 11:53:23 +01:00
2026-07-17 11:53:23 +01:00
2026-07-23 12:30:15 -07:00
2026-07-23 12:30:15 -07:00
2026-07-23 12:30:15 -07:00
2026-06-28 14:11:29 -07:00
2026-07-13 19:25:29 -07:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-06-04 19:37:38 -04:00
2026-07-23 12:30:54 -07:00
2026-07-23 12:30:54 -07:00
2026-07-15 03:25:36 +10:00
2026-07-22 23:25:48 -04:00
2026-07-21 20:28:43 -07:00
2026-07-10 11:56:44 +01:00
2026-06-04 19:37:38 -04:00
2026-06-03 18:43:23 -04:00
2026-07-19 11:04:48 -07:00
2026-07-15 17:05:07 +01:00
2026-07-23 12:30:15 -07:00
2026-07-18 21:09:38 -07:00
2026-06-03 18:43:23 -04:00
2026-06-20 23:37:00 +08:00
2026-07-21 22:33:36 +09:00
2026-07-21 22:33:36 +09:00
2026-07-13 01:29:33 -07:00
2026-07-09 04:02:39 -07:00
2026-07-13 01:29:33 -07:00
2026-07-13 00:42:56 -07:00
2026-06-04 19:37:38 -04:00
2026-07-13 00:42:56 -07:00
2026-07-22 23:25:48 -04:00
2026-06-04 19:35:08 -04:00
2026-06-03 18:43:23 -04:00
2026-07-22 23:25:48 -04:00
2026-07-16 21:38:45 -07:00
2026-07-16 21:38:45 -07:00
2026-06-26 18:33:19 +10:00
2026-07-09 15:54:21 +01:00
2026-07-11 20:47:34 -07:00
2026-07-14 09:28:16 -07:00
2026-07-18 11:09:21 +01:00
2026-07-14 05:33:19 +08:00
2026-06-04 11:03:24 -04:00
2026-07-22 16:28:44 +09:00
2026-07-11 20:47:34 -07:00
2026-07-18 07:01:38 +01:00
2026-07-18 17:53:45 -07:00
2026-07-14 02:30:36 -07:00
2026-06-04 19:37:38 -04:00
2026-06-03 15:20:39 -07:00
2026-07-14 11:03:02 -07:00
2026-07-14 11:03:02 -07:00
2026-06-03 18:43:23 -04:00
2026-06-04 19:32:43 -04:00
2026-06-03 18:23:39 -04:00
2026-07-07 01:10:42 -06:00
2026-06-04 19:32:43 -04:00
2026-06-26 18:33:19 +10:00
2026-07-21 20:28:43 -07:00
2026-07-21 20:28:43 -07:00
2026-06-04 19:32:43 -04:00
2026-06-04 11:05:42 -04:00
2026-07-18 03:32:39 -04:00
2026-07-13 02:30:45 -07:00
2026-06-04 19:32:43 -04:00
2026-07-18 07:15:37 +01:00
2026-06-22 02:59:57 -04:00
2026-06-03 15:20:39 -07:00
2026-07-20 20:07:11 -07:00
2026-06-04 19:32:43 -04:00
2026-06-20 22:09:32 +08:00
2026-06-22 21:27:47 +08:00
2026-06-03 15:20:39 -07:00
2026-06-03 18:23:39 -04:00
2026-06-04 19:35:08 -04:00
2026-06-03 15:20:39 -07:00
2026-06-16 13:15:52 +08:00
2026-06-16 13:15:52 +08:00
2026-07-13 00:53:59 -07:00
2026-07-23 11:28:54 -07:00
2026-06-20 03:56:15 +01:00
2026-07-20 21:31:30 -07:00
2026-07-23 11:28:54 -07:00
2026-06-04 11:07:54 -04:00
2026-07-18 07:18:21 +01:00
2026-07-19 01:29:23 -07:00
2026-06-04 19:37:38 -04:00
2026-06-04 11:07:54 -04:00
2026-07-13 17:22:31 -07:00
2026-07-06 10:33:47 +01:00
2026-07-13 00:36:02 -07:00
2026-07-21 22:37:50 -07:00
2026-07-07 03:25:44 +01:00
2026-06-03 15:20:39 -07:00
2026-06-04 19:32:43 -04:00
2026-06-16 06:26:20 +08:00
2026-07-21 22:37:50 -07:00
2026-06-23 12:06:56 -07:00
2026-06-09 01:02:22 +02:00
2026-07-15 17:05:07 +01:00
2026-07-15 17:05:07 +01:00
2026-07-15 17:05:07 +01:00
2026-07-13 00:42:56 -07:00
2026-06-04 19:35:08 -04:00
2026-06-03 15:20:39 -07:00
2026-07-13 15:09:26 -07:00
2026-07-13 15:09:26 -07:00
2026-07-18 07:01:38 +01:00
2026-07-22 19:10:02 -04:00
2026-06-03 15:20:39 -07:00
2026-07-11 10:25:14 -07:00
2026-06-26 18:33:19 +10:00
2026-06-04 19:35:08 -04:00
2026-06-04 19:35:08 -04:00
2026-07-25 00:18:59 +08:00
2026-07-11 01:09:51 -07:00
2026-07-19 00:58:43 -07:00
2026-07-19 00:58:43 -07:00
2026-06-04 11:11:07 -04:00
2026-06-04 19:35:08 -04:00
2026-06-03 15:20:39 -07:00
2026-06-04 19:37:38 -04:00
2026-07-11 01:09:51 -07:00
2026-07-13 02:34:31 -07:00
2026-07-19 07:35:45 -07:00
2026-07-19 07:35:45 -07:00