commit: 152cb3074e855b0b20011eeb309d9ea5393821aa
parent 0ba8efc9500d55a3e26a8f0a66a8f425b1436881
Author: Haelwenn <contact+git.pleroma.social@hacktivis.me>
Date: Thu, 15 Apr 2021 21:34:55 +0000
Merge branch 'fix/notifsettings-breaking-login' into 'develop'
Enforce user.notification_settings is NOT NULL
Closes #2571
See merge request pleroma/pleroma!3386
Diffstat:
2 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Try to save exported ConfigDB settings (migrate_from_db) in the system temp directory if default location is not writable.
- Uploading custom instance thumbnail via AdminAPI/AdminFE generated invalid URL to the image
- Applying ConcurrentLimiter settings via AdminAPI
+- User login failures if their `notification_settings` were in a NULL state.
## [2.3.0] - 2020-03-01
diff --git a/priv/repo/migrations/20210401143153_user_notification_settings_fix.exs b/priv/repo/migrations/20210401143153_user_notification_settings_fix.exs
@@ -0,0 +1,17 @@
+defmodule Pleroma.Repo.Migrations.UserNotificationSettingsFix do
+ use Ecto.Migration
+
+ def up do
+ execute(~s(UPDATE users
+ SET
+ notification_settings = '{"followers": true, "follows": true, "non_follows": true, "non_followers": true}'::jsonb WHERE notification_settings IS NULL
+))
+
+ execute("ALTER TABLE users
+ ALTER COLUMN notification_settings SET NOT NULL")
+ end
+
+ def down do
+ :ok
+ end
+end