From cfee32ff35fbea39a9dde90fe34c5362fad2bf0f Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Sat, 16 Aug 2025 14:24:06 -0300 Subject: [PATCH] fix: remove saved_during_io from trait and add to BinaryMetaPlugin Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) --- src/meta_plugin.rs | 1 - src/meta_plugin/system.rs | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/meta_plugin.rs b/src/meta_plugin.rs index c0188c9..b630665 100644 --- a/src/meta_plugin.rs +++ b/src/meta_plugin.rs @@ -74,7 +74,6 @@ pub trait MetaPlugin { value, }; crate::db::store_meta(conn, meta)?; - self.saved_during_io = true; Ok(()) } } diff --git a/src/meta_plugin/system.rs b/src/meta_plugin/system.rs index 6952dae..c03efe4 100644 --- a/src/meta_plugin/system.rs +++ b/src/meta_plugin/system.rs @@ -74,12 +74,25 @@ impl MetaPlugin for BinaryMetaPlugin { self.meta_name.clone() } - fn initialize(&mut self, conn: &Connection, item_id: i64) -> Result<()> { + fn initialize(&mut self, conn: &Connection, item_id: i64) -> Result<()> { self.item_id = Some(item_id); // Store raw pointer to connection - unsafe but necessary for this design self.conn = Some(conn as *const _ as *mut Connection); Ok(()) } + + fn save_meta(&mut self, conn: &Connection, item_id: i64, value: String) -> Result<()> { + let meta_name = self.meta_name(); + debug!("Saving metadata: item_id={}, name={}, value={}", item_id, meta_name, value); + let meta = crate::db::Meta { + id: item_id, + name: meta_name, + value, + }; + crate::db::store_meta(conn, meta)?; + self.saved_during_io = true; + Ok(()) + } } impl CwdMetaPlugin {