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
{: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], []},
# 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,
[
scope "/", Fallback do
get("/registration/:token", RedirectController, :registration_page)
- get("/*path", RedirectController, :redirector)
+ get("/*path", RedirectController, :redirector_with_meta)
options("/*path", RedirectController, :empty)
end