From 57635fa2572666c574089c3b78eeabb184bf1dbc Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Sat, 30 Aug 2025 21:49:41 +0200 Subject: [PATCH] Fix env var lookup in config module - fixes nested local streaming --- src/config.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/config.rs b/src/config.rs index 6564cb8..b773ca7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -4,7 +4,7 @@ use std::io::ErrorKind; use std::path::{Path, PathBuf}; use anyhow::{anyhow, bail, Result}; -use config::{self, Environment, File}; +use config::{self, File}; use reqwest::Url; use serde::Deserialize; use uuid::Uuid; @@ -69,18 +69,19 @@ impl Config { .set_default("notifications.enabled", true)? .add_source(File::with_name("/etc/asciinema/config.toml").required(false)) .add_source(File::with_name(&user_defaults_path()?.to_string_lossy()).required(false)) - .add_source(File::with_name(&user_config_path()?.to_string_lossy()).required(false)) - .add_source(Environment::with_prefix("asciinema").separator("_")); + .add_source(File::with_name(&user_config_path()?.to_string_lossy()).required(false)); - if let Some(url) = server_url { + // legacy env var + if let Ok(url) = env::var("ASCIINEMA_API_URL") { config = config.set_override("server.url", Some(url))?; } - if let (Err(_), Ok(url)) = ( - env::var("ASCIINEMA_SERVER_URL"), - env::var("ASCIINEMA_API_URL"), - ) { - env::set_var("ASCIINEMA_SERVER_URL", url); + if let Ok(url) = env::var("ASCIINEMA_SERVER_URL") { + config = config.set_override("server.url", Some(url))?; + } + + if let Some(url) = server_url { + config = config.set_override("server.url", Some(url))?; } Ok(config.build()?.try_deserialize()?)