X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;h=b5b59eb4bea4415cf4797a2e66a4977875aa2b80;hb=6a184115a2431727b5039c1c726a8afc5eef228c;hp=e31a2cc7623b9ff2827fa6d220519fd2e291598c;hpb=069daf644d984c479eae6483595a3307e923950b;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index e31a2cc76..b5b59eb4b 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -282,10 +282,14 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do def context_to_conversation_id(context) do with %Object{id: id} <- Object.get_cached_by_ap_id(context) do id - else _e -> - changeset = Object.context_mapping(context) - {:ok, %{id: id}} = Repo.insert(changeset) - id + else _e -> + changeset = Object.context_mapping(context) + case Repo.insert(changeset) do + {:ok, %{id: id}} -> id + # This should be solved by an upsert, but it seems ecto + # has problems accessing the constraint inside the jsonb. + {:error, _} -> Object.get_cached_by_ap_id(context).id + end end end