X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fostatus%2Fostatus_controller.ex;h=05acfd04bc0f3d5879b4a4c4e3b9d185e8676339;hb=95cedd60004893fd646735d17f7196297c38e22c;hp=fd8dcdf5237466f4178173e75c28acbfb8514405;hpb=03b7b2fa24127847a764403f5374d5c8f36b7c50;p=akkoma diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index fd8dcdf52..05acfd04b 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -9,13 +9,17 @@ defmodule Pleroma.Web.OStatus.OStatusController do def feed_redirect(conn, %{"nickname" => nickname}) do user = User.get_cached_by_nickname(nickname) - redirect conn, external: OStatus.feed_path(user) + + case get_format(conn) do + "html" -> Fallback.RedirectController.redirector(conn, nil) + _ -> redirect conn, external: OStatus.feed_path(user) + end end def feed(conn, %{"nickname" => nickname}) do user = User.get_cached_by_nickname(nickname) query = from activity in Activity, - where: fragment("? @> ?", activity.data, ^%{actor: user.ap_id}), + where: fragment("?->>'actor' = ?", activity.data, ^user.ap_id), limit: 20, order_by: [desc: :inserted_at] @@ -47,7 +51,10 @@ defmodule Pleroma.Web.OStatus.OStatusController do with id <- o_status_url(conn, :object, uuid), %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id), %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do - represent_activity(conn, activity, user) + case get_format(conn) do + "html" -> redirect(conn, to: "/notice/#{activity.id}") + _ -> represent_activity(conn, activity, user) + end end end @@ -55,7 +62,10 @@ defmodule Pleroma.Web.OStatus.OStatusController do with id <- o_status_url(conn, :activity, uuid), %Activity{} = activity <- Activity.get_by_ap_id(id), %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do - represent_activity(conn, activity, user) + case get_format(conn) do + "html" -> redirect(conn, to: "/notice/#{activity.id}") + _ -> represent_activity(conn, activity, user) + end end end