def to_for_user_and_mentions(user, mentions, inReplyTo) do
default_to = [
- User.ap_followers(user),
+ user.follower_address,
"https://www.w3.org/ns/activitystreams#Public"
]
context <- make_context(inReplyTo),
tags <- Formatter.parse_tags(status),
object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags) do
- ActivityPub.create(to, user, context, object)
+ res = ActivityPub.create(to, user, context, object)
+ User.update_note_count(user)
+ res
end
end
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