From 8c64514570db92fd57893507d2e5da1812a26b85 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Sat, 17 Dec 2022 12:03:51 -0800 Subject: [PATCH] Add ZED_STATELESS env var, for suppressing persistence Use this env var in the start-local-collaboration script to make the behavior more predictable. --- crates/db/src/db.rs | 5 +++++ script/start-local-collaboration | 1 + 2 files changed, 6 insertions(+) diff --git a/crates/db/src/db.rs b/crates/db/src/db.rs index 704ac4049d..3412a0baff 100644 --- a/crates/db/src/db.rs +++ b/crates/db/src/db.rs @@ -39,6 +39,7 @@ const FALLBACK_DB_NAME: &'static str = "FALLBACK_MEMORY_DB"; const DB_FILE_NAME: &'static str = "db.sqlite"; lazy_static::lazy_static! { + static ref ZED_STATELESS: bool = std::env::var("ZED_STATELESS").map_or(false, |v| !v.is_empty()); static ref DB_FILE_OPERATIONS: Mutex<()> = Mutex::new(()); pub static ref BACKUP_DB_PATH: RwLock> = RwLock::new(None); pub static ref ALL_FILE_DB_FAILED: AtomicBool = AtomicBool::new(false); @@ -49,6 +50,10 @@ lazy_static::lazy_static! { /// is moved to a backup folder and a new one is created. If that fails, a shared in memory db is created. /// In either case, static variables are set so that the user can be notified. pub async fn open_db(db_dir: &Path, release_channel: &ReleaseChannel) -> ThreadSafeConnection { + if *ZED_STATELESS { + return open_fallback_db().await; + } + let release_channel_name = release_channel.dev_name(); let main_db_dir = db_dir.join(Path::new(&format!("0-{}", release_channel_name))); diff --git a/script/start-local-collaboration b/script/start-local-collaboration index 9c63b301e5..82341bf6db 100755 --- a/script/start-local-collaboration +++ b/script/start-local-collaboration @@ -36,6 +36,7 @@ position_1=0,0 position_2=${width},0 # Authenticate using the collab server's admin secret. +export ZED_STATELESS=1 export ZED_ADMIN_API_TOKEN=secret export ZED_SERVER_URL=http://localhost:8080 export ZED_WINDOW_SIZE=${width},${height}