[author] = :xmerl_xpath.string('/entry/author[1]', doc)
{:ok, actor} = find_or_make_user(author)
- context = ActivityPub.generate_context_id
+ context = string_from_xpath("/entry/ostatus:conversation[1]", doc) |> String.trim
+ context = if String.length(context) > 0 do
+ context
+ else
+ ActivityPub.generate_context_id
+ end
to = [
"https://www.w3.org/ns/activitystreams#Public"
{:error, changeset} ->
errors = Ecto.Changeset.traverse_errors(changeset, fn {msg, _opts} -> msg end)
|> Poison.encode!
- {:error, %{error: errors}}
+ {:error, %{error: errors}}
end
end
assert activity.data["type"] == "Create"
assert activity.data["object"]["type"] == "Note"
assert activity.data["published"] == "2017-04-23T14:51:03+00:00"
+ assert activity.data["context"] == "tag:gs.example.org:4040,2017-04-23:objectType=thread:nonce=f09e22f58abd5c7b"
end
describe "new remote user creation" do