Warn about ignored configuration settings (#44691)

## Why

Unrecognized settings can be silently ignored, leaving typos or deprecated configuration unnoticed.

## What changed

- Collect warnings for unrecognized fields in effective configuration and requirements layers, including unknown feature keys in configuration.
- Report sources and field names without configuration values, show up to three entries, and provide migration hints for `network_proxy`, `allowed_permissions`, and `include_view_image_tool`.
- Emit project-specific warnings when starting a thread and suppress repeated startup warnings in the app server and TUI.

## Testing

Add coverage for merged configuration, disabled layers, startup and project warning delivery, omission of configuration values, and warning deduplication.

GitOrigin-RevId: 464cef87882502b19865ae10b50b6f82defb7296
This commit is contained in:
andrewgu-oai authored and copyberry committed 2026-09-11 00:55:51 +00:00
1 parent 9e22e74e8d
commit e53c444964
11 files changed
+305 -44

No files matched your search

+3
View File
@@ -241,6 +241,9 @@ impl ChatWidget {
if self.warning_display_state.startup_complete {
self.on_warning(message);
} else if self.warning_display_state.should_display(&message) {
self.warning_display_state
.startup_config_warnings
.insert(message.clone());
self.add_to_history(history_cell::StartupWarningsCell::new(vec![message]));
self.request_redraw();
}