diff --git a/crates/lanspread-compat/src/eti.rs b/crates/lanspread-compat/src/eti.rs index fe1b378..c0de75a 100644 --- a/crates/lanspread-compat/src/eti.rs +++ b/crates/lanspread-compat/src/eti.rs @@ -2,7 +2,7 @@ use std::path::Path; use lanspread_db::db::Game; use serde::{Deserialize, Serialize}; -use sqlx::sqlite::SqlitePool; +use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions}; #[derive(Clone, Debug, Serialize, Deserialize, sqlx::FromRow)] pub struct EtiGame { @@ -23,7 +23,8 @@ pub struct EtiGame { /// # Errors pub async fn get_games(db: &Path) -> eyre::Result> { - let pool = SqlitePool::connect(format!("sqlite:{}", db.to_string_lossy()).as_str()).await?; + let options = SqliteConnectOptions::new().filename(db).read_only(true); + let pool = SqlitePoolOptions::new().connect_with(options).await?; let mut games = sqlx::query_as::<_, EtiGame>( "SELECT diff --git a/crates/lanspread-tauri-deno-ts/src-tauri/src/lib.rs b/crates/lanspread-tauri-deno-ts/src-tauri/src/lib.rs index 216d6b3..9d96d90 100644 --- a/crates/lanspread-tauri-deno-ts/src-tauri/src/lib.rs +++ b/crates/lanspread-tauri-deno-ts/src-tauri/src/lib.rs @@ -871,13 +871,17 @@ pub fn run() { if !games_folder.is_empty() { // Load ETI games from the game.db resource - this MUST succeed - let game_db_path = match app_handle_clone.path().resolve("game.db", tauri::path::BaseDirectory::Resource) { - Ok(path) => path, - Err(e) => { - log::error!("Failed to resolve game.db resource: {e}"); - panic!("game.db resource is mandatory - cannot continue"); - } - }; + let game_db_path = + match app_handle_clone + .path() + .resolve("game.db", tauri::path::BaseDirectory::Resource) + { + Ok(path) => path, + Err(e) => { + log::error!("Failed to resolve game.db resource: {e}"); + panic!("game.db resource is mandatory - cannot continue"); + } + }; let eti_games = match get_games(&game_db_path).await { Ok(games) => {