diff --git a/lib/federation/activity_pub/utils.ex b/lib/federation/activity_pub/utils.ex index aadb90ca8..c810b4d53 100644 --- a/lib/federation/activity_pub/utils.ex +++ b/lib/federation/activity_pub/utils.ex @@ -112,6 +112,10 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do "@id" => "mz:participationMessage", "@type" => "sc:Text" }, + "isOnline" => %{ + "@type" => "sc:Boolean", + "@id" => "mz:isOnline" + }, "PropertyValue" => "sc:PropertyValue", "value" => "sc:value", "propertyID" => "sc:propertyID", diff --git a/lib/federation/activity_stream/converter/event.ex b/lib/federation/activity_stream/converter/event.ex index 1ec250b16..9acaf1094 100644 --- a/lib/federation/activity_stream/converter/event.ex +++ b/lib/federation/activity_stream/converter/event.ex @@ -139,7 +139,8 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Event do "url" => event.url, "inLanguage" => event.language, "timezone" => event.options.timezone, - "contacts" => Enum.map(event.contacts, & &1.url) + "contacts" => Enum.map(event.contacts, & &1.url), + "isOnline" => event.options.is_online } |> maybe_add_physical_address(event) |> maybe_add_event_picture(event) @@ -168,7 +169,8 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Event do "repliesModerationOption", if(Map.get(object, "commentsEnabled", true), do: :allow_all, else: :closed) ), - timezone: calculate_timezone(object, address) + timezone: calculate_timezone(object, address), + is_online: object["isOnline"] == true } end