fix: filter out disabled outputs in status display

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-27 18:07:38 -03:00
parent 75222eeb7f
commit f056b16c65

View File

@@ -176,12 +176,18 @@ fn build_meta_plugins_configured_table(settings: &config::Settings) -> Option<Ta
.collect(); .collect();
// Create the actual plugin with merged options // Create the actual plugin with merged options
let actual_plugin = get_meta_plugin( let mut actual_plugin = get_meta_plugin(
meta_plugin_type.clone(), meta_plugin_type.clone(),
Some(effective_options.clone()), Some(effective_options.clone()),
Some(outputs_converted), Some(outputs_converted),
); );
// Clone the plugin to avoid modifying the original when we initialize it
let mut plugin_for_display = actual_plugin.clone();
// Initialize the plugin to process the options and generate the actual outputs
// This will set disabled outputs to None
let _ = plugin_for_display.initialize();
// Get the default plugin to see its default options // Get the default plugin to see its default options
let default_plugin = get_meta_plugin( let default_plugin = get_meta_plugin(
meta_plugin_type.clone(), meta_plugin_type.clone(),
@@ -207,9 +213,10 @@ fn build_meta_plugins_configured_table(settings: &config::Settings) -> Option<Ta
.to_string() .to_string()
}; };
// Show only non-null outputs // Show only non-null outputs from the plugin after initialization
// This reflects which outputs would actually be generated
let mut enabled_output_pairs = Vec::new(); let mut enabled_output_pairs = Vec::new();
for (key, value) in actual_plugin.outputs() { for (key, value) in plugin_for_display.outputs() {
// Skip null values (disabled outputs) // Skip null values (disabled outputs)
if value.is_null() { if value.is_null() {
continue; continue;