From ce5e270ecba0a774aa99ba71b9855657ab772c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Thu, 2 Jul 2026 16:27:45 +0200 Subject: [PATCH] Open the COB cache database once per driver --- crates/radicle-tauri/src/commands/startup.rs | 8 +++----- crates/test-http-api/src/lib.rs | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/crates/radicle-tauri/src/commands/startup.rs b/crates/radicle-tauri/src/commands/startup.rs index 1670ebe18..e2faa79d7 100644 --- a/crates/radicle-tauri/src/commands/startup.rs +++ b/crates/radicle-tauri/src/commands/startup.rs @@ -77,14 +77,12 @@ pub(crate) fn startup(app: AppHandle) -> Result { let inbox_db = radicle_types::outbound::sqlite::Sqlite::reader( profile.node().join(NOTIFICATIONS_DB_FILE), )?; - let patch_db = - radicle_types::outbound::sqlite::Sqlite::reader(profile.cobs().join(COBS_DB_FILE))?; - let issue_db = + let cobs_db = radicle_types::outbound::sqlite::Sqlite::reader(profile.cobs().join(COBS_DB_FILE))?; let inbox_service = domain::inbox::service::Service::new(inbox_db); - let patch_service = domain::patch::service::Service::new(patch_db); - let issue_service = domain::issue::service::Service::new(issue_db); + let patch_service = domain::patch::service::Service::new(cobs_db.clone()); + let issue_service = domain::issue::service::Service::new(cobs_db); let node_handle = app.app_handle().clone(); diff --git a/crates/test-http-api/src/lib.rs b/crates/test-http-api/src/lib.rs index c6734fb8f..be2b90858 100644 --- a/crates/test-http-api/src/lib.rs +++ b/crates/test-http-api/src/lib.rs @@ -30,12 +30,10 @@ pub async fn run(options: Options) -> anyhow::Result<()> { fn router(profile: Profile) -> anyhow::Result { let profile = Arc::new(profile); - let patch_db = + let cobs_db = radicle_types::outbound::sqlite::Sqlite::reader(profile.cobs().join(COBS_DB_FILE))?; - let patch_service = PatchService::new(patch_db); - let issue_db = - radicle_types::outbound::sqlite::Sqlite::reader(profile.cobs().join(COBS_DB_FILE))?; - let issue_service = IssueService::new(issue_db); + let patch_service = PatchService::new(cobs_db.clone()); + let issue_service = IssueService::new(cobs_db); let ctx = api::Context::new(profile, Arc::new(patch_service), Arc::new(issue_service));