summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2021-04-15 21:34:55 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2021-04-15 21:34:55 +0000
commit152cb3074e855b0b20011eeb309d9ea5393821aa (patch)
tree13a41747e2452ec5d3bf6128b090c37257985f2c
parent0ba8efc9500d55a3e26a8f0a66a8f425b1436881 (diff)
parent0a7c2a32badc8520d90146d5a1aae7907a679614 (diff)
Merge branch 'fix/notifsettings-breaking-login' into 'develop'
Enforce user.notification_settings is NOT NULL Closes #2571 See merge request pleroma/pleroma!3386
-rw-r--r--CHANGELOG.md1
-rw-r--r--priv/repo/migrations/20210401143153_user_notification_settings_fix.exs17
2 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6e13b3875..9b0678023 100644
--- 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
new file mode 100644
index 000000000..cf68f1be6
--- /dev/null
+++ 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