aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-01-15 11:56:35 +0300
committerrinpatch <rinpatch@sdf.org>2019-01-15 11:56:35 +0300
commitce15e0659e63217d482ef0448ef7629c76755c46 (patch)
treedc9b3af77c82d2cad68d72b8447283047f53e16b
parent4656f433f94f132449df019beae1013f71728d0e (diff)
downloadpleroma-ce15e0659e63217d482ef0448ef7629c76755c46.tar.gz
Fix some edge cases [nervous laughter]
-rw-r--r--lib/pleroma/user.ex15
-rw-r--r--lib/pleroma/web/metadata.ex10
-rw-r--r--lib/pleroma/web/router.ex2
3 files changed, 23 insertions, 4 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 26cef53ee..0e828a99e 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -454,7 +454,20 @@ defmodule Pleroma.User do
end
def get_cached_by_nickname_or_id(nickname_or_id) do
- get_cached_by_id(nickname_or_id) || get_cached_by_nickname(nickname_or_id)
+ try do
+ # TODO: convert to UUIDs when !654 is merged
+ maybe_id = String.to_integer(nickname_or_id)
+ user = get_cached_by_id(maybe_id)
+
+ if user == nil do
+ raise ArgumentError, message: "invalid argument foo"
+ else
+ user
+ end
+ rescue
+ _ in ArgumentError ->
+ get_cached_by_nickname(nickname_or_id)
+ end
end
def get_by_nickname(nickname) do
diff --git a/lib/pleroma/web/metadata.ex b/lib/pleroma/web/metadata.ex
index 9935726fc..b7052eec1 100644
--- a/lib/pleroma/web/metadata.ex
+++ b/lib/pleroma/web/metadata.ex
@@ -21,7 +21,13 @@ defmodule Pleroma.Web.Metadata do
{:meta,
[
property: "og:title",
- content: "#{user.name} (@#{user.nickname}@#{pleroma_domain()}) post ##{activity.id}"
+ content:
+ "#{user.name}" <>
+ if user.local do
+ "(@#{user.nickname}@{pleroma_domain})"
+ else
+ "(@#{user.nickname})"
+ end
], []},
{:meta, [property: "og:url", content: activity.data["id"]], []},
{:meta, [property: "og:description", content: truncated_content], []},
@@ -35,7 +41,7 @@ defmodule Pleroma.Web.Metadata do
# opengraph for user card
defp opengraph_tags(%{user: user}) do
- with truncated_bio = scrub_html_and_truncate(user.bio) do
+ with truncated_bio = scrub_html_and_truncate(user.bio || "") do
[
{:meta,
[
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 5ef99bec5..6cf689ce2 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -505,7 +505,7 @@ defmodule Pleroma.Web.Router do
scope "/", Fallback do
get("/registration/:token", RedirectController, :registration_page)
- get("/*path", RedirectController, :redirector)
+ get("/*path", RedirectController, :redirector_with_meta)
options("/*path", RedirectController, :empty)
end