fix: remove automatic addition of digest plugin and use config for enabled_meta_plugins

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-28 17:11:01 -03:00
parent d693f9d5f2
commit 3d4ed341e7
3 changed files with 8 additions and 52 deletions

View File

@@ -29,9 +29,12 @@ pub async fn handle_status(
// Get database path
let db_path = state.db.lock().await.path().unwrap_or("unknown").to_string();
// Use the status service to generate status info showing all supported plugins
// Use the status service to generate status info showing configured plugins
let status_service = crate::services::status_service::StatusService::new();
let status_info = status_service.generate_supported_status(
let mut cmd = state.cmd.lock().await;
let status_info = status_service.generate_status(
&mut cmd,
&state.settings,
state.data_dir.clone(),
db_path.into(),
);

View File

@@ -15,17 +15,9 @@ impl MetaService {
pub fn get_plugins(&self, cmd: &mut Command, settings: &Settings) -> Vec<Box<dyn MetaPlugin>> {
debug!("META_SERVICE: get_plugins called");
let mut meta_plugin_types: Vec<MetaPluginType> = settings_meta_plugin_types(cmd, settings);
let meta_plugin_types: Vec<MetaPluginType> = settings_meta_plugin_types(cmd, settings);
debug!("META_SERVICE: Meta plugin types from settings: {:?}", meta_plugin_types);
// Always add the Digest plugin if not present
if !meta_plugin_types.contains(&MetaPluginType::Digest) {
debug!("META_SERVICE: Adding digest plugin type");
meta_plugin_types.push(MetaPluginType::Digest);
}
debug!("META_SERVICE: Meta plugin types: {:?}", meta_plugin_types);
// Create plugins with their configuration
let meta_plugins: Vec<Box<dyn MetaPlugin>> = meta_plugin_types
.iter()
@@ -63,17 +55,6 @@ impl MetaService {
})
.collect();
// Filter out unsupported plugins
let original_len = meta_plugins.len();
let meta_plugins: Vec<Box<dyn MetaPlugin>> = meta_plugins
.into_iter()
.filter(|meta_plugin| meta_plugin.is_supported())
.collect();
if meta_plugins.len() < original_len {
log::warn!("META_SERVICE: Some meta plugins are enabled but not supported on this system");
}
meta_plugins
}

View File

@@ -21,13 +21,8 @@ impl StatusService {
data_path: PathBuf,
db_path: PathBuf,
) -> StatusInfo {
// Determine which meta plugins would be enabled for a save operation
let mut meta_plugin_types: Vec<MetaPluginType> = crate::modes::common::settings_meta_plugin_types(cmd, settings);
// Always add the Digest plugin if not present
if !meta_plugin_types.contains(&MetaPluginType::Digest) {
meta_plugin_types.push(MetaPluginType::Digest);
}
// Get meta plugins directly from config
let meta_plugin_types: Vec<MetaPluginType> = crate::modes::common::settings_meta_plugin_types(cmd, settings);
// Determine which compression type would be enabled for a save operation
let enabled_compression_type = if let Some(compression_name) = &settings.compression() {
@@ -44,29 +39,6 @@ impl StatusService {
status_info
}
pub fn generate_supported_status(
&self,
data_path: PathBuf,
db_path: PathBuf,
) -> StatusInfo {
// Get all meta plugin types that are supported
let supported_meta_plugins: Vec<MetaPluginType> = MetaPluginType::iter()
.filter(|mpt| {
let plugin = crate::meta_plugin::get_meta_plugin((*mpt).clone(), None, None);
plugin.is_supported()
})
.collect();
// Default to LZ4 compression for the API status endpoint
let enabled_compression_type = Some(CompressionType::LZ4);
let mut status_info = generate_status_info(data_path, db_path, &supported_meta_plugins, enabled_compression_type);
// The options are now populated directly in generate_status_info
// No need to modify them here
status_info
}
}
impl Default for StatusService {