diff --git a/config/config.exs b/config/config.exs
index e99cea93a..40685256f 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -270,7 +270,7 @@ config :mobilizon, Oban,
     {Oban.Plugins.Cron,
      crontab: [
        {"@hourly", Mobilizon.Service.Workers.BuildSiteMap, queue: :background},
-       {"17 * * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background},
+       {"17 4 * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background},
        # To be activated in Mobilizon 1.2
        # {"@hourly", Mobilizon.Service.Workers.CleanOrphanMediaWorker, queue: :background},
        {"@hourly", Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker, queue: :background},
diff --git a/lib/federation/activity_pub/activity_pub.ex b/lib/federation/activity_pub/activity_pub.ex
index a46a02cbb..0e11c056a 100644
--- a/lib/federation/activity_pub/activity_pub.ex
+++ b/lib/federation/activity_pub/activity_pub.ex
@@ -101,8 +101,12 @@ defmodule Mobilizon.Federation.ActivityPub do
       {:existing, entity} ->
         handle_existing_entity(url, entity, options)
 
+      {:error, e} ->
+        Logger.warn("Something failed while fetching url #{url} #{inspect(e)}")
+        {:error, e}
+
       e ->
-        Logger.warn("Something failed while fetching url #{inspect(e)}")
+        Logger.warn("Something failed while fetching url #{url} #{inspect(e)}")
         {:error, e}
     end
   end
diff --git a/lib/federation/activity_pub/actor.ex b/lib/federation/activity_pub/actor.ex
index aad2f2f6a..0cc3b589f 100644
--- a/lib/federation/activity_pub/actor.ex
+++ b/lib/federation/activity_pub/actor.ex
@@ -48,7 +48,8 @@ defmodule Mobilizon.Federation.ActivityPub.Actor do
   @doc """
   Create an actor locally by its URL (AP ID)
   """
-  @spec make_actor_from_url(String.t(), boolean()) :: {:ok, %Actor{}} | {:error, any()}
+  @spec make_actor_from_url(String.t(), boolean()) ::
+          {:ok, %Actor{}} | {:error, :actor_deleted} | {:error, :http_error} | {:error, any()}
   def make_actor_from_url(url, preload \\ false) do
     if are_same_origin?(url, Endpoint.url()) do
       {:error, "Can't make a local actor from URL"}
@@ -62,6 +63,9 @@ defmodule Mobilizon.Federation.ActivityPub.Actor do
           Logger.info("Actor was deleted")
           {:error, :actor_deleted}
 
+        {:error, :http_error} ->
+          {:error, :http_error}
+
         {:error, e} ->
           Logger.warn("Failed to make actor from url")
           {:error, e}
diff --git a/lib/federation/activity_pub/refresher.ex b/lib/federation/activity_pub/refresher.ex
index dec998427..8c466838c 100644
--- a/lib/federation/activity_pub/refresher.ex
+++ b/lib/federation/activity_pub/refresher.ex
@@ -60,6 +60,12 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
          :ok <- fetch_collection(events_url, on_behalf_of) do
       :ok
     else
+      {:error, :actor_deleted} ->
+        {:error, :actor_deleted}
+
+      {:error, :http_error} ->
+        {:error, :http_error}
+
       {:error, err} ->
         Logger.error("Error while refreshing a group")
 
@@ -68,6 +74,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
         )
 
         Logger.debug(inspect(err))
+        {:error, err}
 
       err ->
         Logger.error("Error while refreshing a group")
@@ -77,6 +84,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
         )
 
         Logger.debug(inspect(err))
+        err
     end
   end
 
diff --git a/lib/federation/activity_pub/transmogrifier.ex b/lib/federation/activity_pub/transmogrifier.ex
index bf79f5ac2..e527ac915 100644
--- a/lib/federation/activity_pub/transmogrifier.ex
+++ b/lib/federation/activity_pub/transmogrifier.ex
@@ -111,8 +111,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
       {:ok, activity, event}
     else
       {:existing_event, %Event{} = event} -> {:ok, nil, event}
-      {:error, _, _} -> :error
-      {:error, _} -> :error
+      _ -> :error
     end
   end
 
diff --git a/lib/mobilizon/discussions/comment.ex b/lib/mobilizon/discussions/comment.ex
index bfa0cf6a1..8ec1bd75a 100644
--- a/lib/mobilizon/discussions/comment.ex
+++ b/lib/mobilizon/discussions/comment.ex
@@ -126,6 +126,7 @@ defmodule Mobilizon.Discussions.Comment do
     |> put_assoc(:media, Map.get(attrs, :media, []))
     |> put_tags(attrs)
     |> put_mentions(attrs)
+    |> unique_constraint(:url, name: :comments_url_index)
   end
 
   @spec maybe_generate_uuid(Ecto.Changeset.t()) :: Ecto.Changeset.t()
diff --git a/lib/mobilizon/events/tag.ex b/lib/mobilizon/events/tag.ex
index 3a2488e1e..b4fc428eb 100644
--- a/lib/mobilizon/events/tag.ex
+++ b/lib/mobilizon/events/tag.ex
@@ -36,7 +36,7 @@ defmodule Mobilizon.Events.Tag do
     |> TitleSlug.maybe_generate_slug()
     |> validate_required(@required_attrs)
     |> TitleSlug.unique_constraint()
-    |> validate_length(:title, min: 2, max: 20)
-    |> validate_length(:slug, min: 2, max: 20)
+    |> validate_length(:title, min: 2, max: 40)
+    |> validate_length(:slug, min: 2, max: 40)
   end
 end