From 691d71d9f7d03abbf4c4fb850836ad8deaad21cb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 17 Jun 2021 16:19:35 +0200 Subject: [PATCH] Decode URI sent in notification payloads Signed-off-by: Thomas Citharel --- lib/service/activity/renderer/discussion.ex | 5 +++-- lib/service/activity/renderer/event.ex | 5 +++-- lib/service/activity/renderer/group.ex | 4 +++- lib/service/activity/renderer/member.ex | 5 +++-- lib/service/activity/renderer/post.ex | 5 +++-- lib/service/activity/renderer/resource.ex | 4 +++- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/lib/service/activity/renderer/discussion.ex b/lib/service/activity/renderer/discussion.ex index f156d2faa..99f201b91 100644 --- a/lib/service/activity/renderer/discussion.ex +++ b/lib/service/activity/renderer/discussion.ex @@ -70,12 +70,13 @@ defmodule Mobilizon.Service.Activity.Renderer.Discussion do end defp discussion_url(activity) do - Routes.page_url( - Endpoint, + Endpoint + |> Routes.page_url( :discussion, Actor.preferred_username_and_domain(activity.group), activity.subject_params["discussion_slug"] ) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author) diff --git a/lib/service/activity/renderer/event.ex b/lib/service/activity/renderer/event.ex index 8f70c92d1..7c8eb5993 100644 --- a/lib/service/activity/renderer/event.ex +++ b/lib/service/activity/renderer/event.ex @@ -71,11 +71,12 @@ defmodule Mobilizon.Service.Activity.Renderer.Event do end defp event_url(activity) do - Routes.page_url( - Endpoint, + Endpoint + |> Routes.page_url( :event, activity.subject_params["event_uuid"] ) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author) diff --git a/lib/service/activity/renderer/group.ex b/lib/service/activity/renderer/group.ex index cb0fa4554..4293aa298 100644 --- a/lib/service/activity/renderer/group.ex +++ b/lib/service/activity/renderer/group.ex @@ -50,7 +50,9 @@ defmodule Mobilizon.Service.Activity.Renderer.Group do end defp post_url(activity) do - Routes.page_url(Endpoint, :post, activity.subject_params["post_slug"]) + Endpoint + |> Routes.page_url(:post, activity.subject_params["post_slug"]) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author) diff --git a/lib/service/activity/renderer/member.ex b/lib/service/activity/renderer/member.ex index 39d468fbb..89ac69943 100644 --- a/lib/service/activity/renderer/member.ex +++ b/lib/service/activity/renderer/member.ex @@ -63,12 +63,13 @@ defmodule Mobilizon.Service.Activity.Renderer.Member do end defp member_url(activity) do - Routes.page_url( - Endpoint, + Endpoint + |> Routes.page_url( :discussion, Actor.preferred_username_and_domain(activity.group), activity.subject_params["discussion_slug"] ) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author) diff --git a/lib/service/activity/renderer/post.ex b/lib/service/activity/renderer/post.ex index 6636f1280..d408daf01 100644 --- a/lib/service/activity/renderer/post.ex +++ b/lib/service/activity/renderer/post.ex @@ -70,12 +70,13 @@ defmodule Mobilizon.Service.Activity.Renderer.Post do end defp discussion_url(activity) do - Routes.page_url( - Endpoint, + Endpoint + |> Routes.page_url( :discussion, Actor.preferred_username_and_domain(activity.group), activity.subject_params["discussion_slug"] ) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author) diff --git a/lib/service/activity/renderer/resource.ex b/lib/service/activity/renderer/resource.ex index 5355d5278..31f7ccfcd 100644 --- a/lib/service/activity/renderer/resource.ex +++ b/lib/service/activity/renderer/resource.ex @@ -114,7 +114,9 @@ defmodule Mobilizon.Service.Activity.Renderer.Resource do end defp resource_url(activity) do - Routes.page_url(Endpoint, :resource, activity.subject_params["resource_uuid"]) + Endpoint + |> Routes.page_url(:resource, activity.subject_params["resource_uuid"]) + |> URI.decode() end defp profile(activity), do: Actor.display_name_and_username(activity.author)