aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-07-20 13:03:34 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-07-20 13:03:34 +0300
commitd0198fe215a7542ce506e40e1e4860a27ee2d01e (patch)
tree59cc360b361d205c2b8117236f3560775d6c71d8
parent93df0796f05eff382301de91fb268bb4bc3c3379 (diff)
downloadpleroma-d0198fe215a7542ce506e40e1e4860a27ee2d01e.tar.gz
[#1112] Preserving `id` on user insert conflict on order not to violate conversation_partipations_user_id_fkey constraint.
-rw-r--r--CHANGELOG.md1
-rw-r--r--lib/pleroma/user.ex2
2 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2e79b5420..f60f3ed97 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Mastodon API: Embedded relationships not being properly rendered in the Account entity of Status entity
- Mastodon API: Add `account_id`, `type`, `offset`, and `limit` to search API (`/api/v1/search` and `/api/v2/search`)
- ActivityPub C2S: follower/following collection pages being inaccessible even when authentifucated if `hide_followers`/ `hide_follows` was set
+- Existing user id not being preserved on insert conflict
### Added
- MRF: Support for priming the mediaproxy cache (`Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`)
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index c91fbb68a..5ea2b518b 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1211,7 +1211,7 @@ defmodule Pleroma.User do
data
|> Map.put(:name, blank?(data[:name]) || data[:nickname])
|> remote_user_creation()
- |> Repo.insert(on_conflict: :replace_all, conflict_target: :nickname)
+ |> Repo.insert(on_conflict: :replace_all_except_primary_key, conflict_target: :nickname)
|> set_cache()
end