Make older app-server notices configurable in the TUI (#43698)

## What changed

Add `tui.show_server_version_notice`, enabled by default. Set it to `false` to suppress informational notices about older stable app servers at startup, on reconnect, and in the agents overview. Compatibility errors and version status remain unaffected.

Refresh the overview notice when local settings change, clearing pending notices when the setting is disabled.

## Testing

Add coverage for disabling and re-enabling overview notices, clearing pending notice state, and preserving remote version status. Extend reconnect and local-settings tests to cover the new setting.

GitOrigin-RevId: d50dcf4472ee221ce31cdd7ab2cd766f901a8039
This commit is contained in:
Eric Traut authored and copyberry committed 2026-09-08 04:35:21 +00:00
1 parent 9a3af22d01
commit 49a9d78999
18 files changed
+204 -28

No files matched your search

+2
View File
@@ -1258,6 +1258,7 @@ fn config_toml_deserializes_model_availability_nux() {
animations: true,
whimsy: true,
show_tooltips: true,
show_server_version_notice: true,
auto_recap: true,
disable_paste_burst: None,
vim_mode_default: false,
@@ -4273,6 +4274,7 @@ fn tui_config_missing_notifications_field_defaults_to_enabled() {
animations: true,
whimsy: true,
show_tooltips: true,
show_server_version_notice: true,
auto_recap: true,
disable_paste_burst: None,
vim_mode_default: false,
+8
View File
@@ -748,6 +748,9 @@ pub struct Config {
/// Show startup tooltips in the TUI welcome screen.
pub show_tooltips: bool,
/// Show a TUI notice when the connected app server is an older stable release.
pub tui_show_server_version_notice: bool,
/// Generate automatic TUI recaps. Manual `/recap` remains available when disabled.
pub tui_auto_recap: bool,
@@ -4354,6 +4357,11 @@ impl Config {
animations: cfg.tui.as_ref().map(|t| t.animations).unwrap_or(true),
tui_whimsy: cfg.tui.as_ref().map(|t| t.whimsy).unwrap_or(true),
show_tooltips: cfg.tui.as_ref().map(|t| t.show_tooltips).unwrap_or(true),
tui_show_server_version_notice: cfg
.tui
.as_ref()
.map(|t| t.show_server_version_notice)
.unwrap_or(true),
tui_auto_recap: cfg.tui.as_ref().map(|t| t.auto_recap).unwrap_or(/*default*/ true),
model_availability_nux: cfg
.tui