From daccab9bccf190c6eb46b6c60143dacea83d2ef7 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Thu, 7 Aug 2025 16:10:57 +0200 Subject: [PATCH] Fix private email domain init (#1098) --- apps/server/AliasVault.Api/Program.cs | 5 ++++- apps/server/AliasVault.Client/Program.cs | 6 ------ apps/server/AliasVault.Client/entrypoint.sh | 9 +++++++-- dockerfiles/docker-compose.build.yml | 16 ++++++++-------- dockerfiles/docker-compose.dev.yml | 4 ++-- install.sh | 2 +- 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/apps/server/AliasVault.Api/Program.cs b/apps/server/AliasVault.Api/Program.cs index 1b557e976..365d51cb6 100644 --- a/apps/server/AliasVault.Api/Program.cs +++ b/apps/server/AliasVault.Api/Program.cs @@ -41,7 +41,10 @@ var config = new Config(); var publicRegistrationEnabled = Environment.GetEnvironmentVariable("PUBLIC_REGISTRATION_ENABLED") ?? "false"; config.PublicRegistrationEnabled = bool.Parse(publicRegistrationEnabled); -var privateEmailDomains = Environment.GetEnvironmentVariable("PRIVATE_EMAIL_DOMAINS")?.Split(",").Select(d => d.Trim()); +var privateEmailDomains = Environment.GetEnvironmentVariable("PRIVATE_EMAIL_DOMAINS")? + .Split(",", StringSplitOptions.RemoveEmptyEntries) + .Select(d => d.Trim()) + .Where(d => !string.IsNullOrWhiteSpace(d)); config.PrivateEmailDomains = privateEmailDomains?.ToList() ?? new List(); var ipLoggingEnabled = Environment.GetEnvironmentVariable("IP_LOGGING_ENABLED") ?? "false"; diff --git a/apps/server/AliasVault.Client/Program.cs b/apps/server/AliasVault.Client/Program.cs index bcd755141..a03a2412e 100644 --- a/apps/server/AliasVault.Client/Program.cs +++ b/apps/server/AliasVault.Client/Program.cs @@ -24,12 +24,6 @@ builder.Configuration.AddJsonFile($"appsettings.{builder.HostEnvironment.Environ var config = new Config(); builder.Configuration.Bind(config); - -if (config.PrivateEmailDomains == null || config.PrivateEmailDomains.Count == 0) -{ - throw new KeyNotFoundException("PrivateEmailDomains is not set in the configuration."); -} - builder.Services.AddSingleton(config); // Add localization services diff --git a/apps/server/AliasVault.Client/entrypoint.sh b/apps/server/AliasVault.Client/entrypoint.sh index 5290bd323..8f94be757 100755 --- a/apps/server/AliasVault.Client/entrypoint.sh +++ b/apps/server/AliasVault.Client/entrypoint.sh @@ -29,8 +29,13 @@ fi # The app will use a relative URL instead (base url + "/api/" which is the default for the Docker setup). sed -i "s|\"ApiUrl\": \"http://localhost:5092\",||g" /usr/share/nginx/html/appsettings.json -# Convert comma-separated list to JSON array -json_array=$(echo $PRIVATE_EMAIL_DOMAINS | awk '{split($0,a,","); printf "["; for(i=1;i<=length(a);i++) {printf "\"%s\"", a[i]; if(i