From 1f0c84749d03c7d57da89e77e079c824d0146838 Mon Sep 17 00:00:00 2001
From: Claire <claire.github-309c@sitedethib.com>
Date: Wed, 16 Oct 2024 10:43:45 +0200
Subject: [PATCH] Change Active Record Encryption variable check to check for
 emptiness (#32537)

---
 .env.production.sample                          | 1 +
 config/initializers/active_record_encryption.rb | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.env.production.sample b/.env.production.sample
index 87ea031c4c..3dd66abae4 100644
--- a/.env.production.sample
+++ b/.env.production.sample
@@ -50,6 +50,7 @@ OTP_SECRET=
 # Must be available (and set to same values) for all server processes
 # These are private/secret values, do not share outside hosting environment
 # Use `bin/rails db:encryption:init` to generate fresh secrets
+# Do not change these secrets once in use, as this would cause data loss and other issues
 # ------------------
 # ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=
 # ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=
diff --git a/config/initializers/active_record_encryption.rb b/config/initializers/active_record_encryption.rb
index c53f16d4d1..9ae28e401b 100644
--- a/config/initializers/active_record_encryption.rb
+++ b/config/initializers/active_record_encryption.rb
@@ -10,7 +10,9 @@
     ENV[key] = SecureRandom.hex(64)
   end
 
-  value = ENV.fetch(key) do
+  value = ENV.fetch(key, '')
+
+  if value.blank?
     abort <<~MESSAGE
 
       Mastodon now requires that these variables are set:
-- 
GitLab