diff options
-rw-r--r-- | installation/Caddyfile | 5 | ||||
-rw-r--r-- | lib/pleroma/formatter.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/upload.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/endpoint.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 4 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/controllers/util_controller.ex | 6 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 4 | ||||
-rw-r--r-- | test/formatter_test.exs | 7 |
8 files changed, 19 insertions, 13 deletions
diff --git a/installation/Caddyfile b/installation/Caddyfile deleted file mode 100644 index 08d5e6169..000000000 --- a/installation/Caddyfile +++ /dev/null @@ -1,5 +0,0 @@ -instance.example.com { # Your instance's domain - proxy / localhost:4000 { - websocket - } -} diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index 3634a8f5b..b30e04e3d 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -144,7 +144,7 @@ defmodule Pleroma.Formatter do @emoji end - @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&@~\(\)]+[\w\/]/u + @link_regex ~r/https?:\/\/[\w\.\/?=\-#\+%&@~\(\)]+[\w\/]/u def html_escape(text) do Regex.split(@link_regex, text, include_captures: true) diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 8a9dc612a..e5df94009 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -58,7 +58,7 @@ defmodule Pleroma.Upload do } end - defp upload_path do + def upload_path do settings = Application.get_env(:pleroma, Pleroma.Upload) Keyword.fetch!(settings, :uploads) end diff --git a/lib/pleroma/web/endpoint.ex b/lib/pleroma/web/endpoint.ex index dde4e3ffe..dfafc95f4 100644 --- a/lib/pleroma/web/endpoint.ex +++ b/lib/pleroma/web/endpoint.ex @@ -11,7 +11,7 @@ defmodule Pleroma.Web.Endpoint do # # You should set gzip to true if you are running phoenix.digest # when deploying your static files in production. - plug(Plug.Static, at: "/media", from: "uploads", gzip: false) + plug(Plug.Static, at: "/media", from: Pleroma.Upload.upload_path(), gzip: false) plug( Plug.Static, diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index 64928fda5..ccba4710a 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -494,6 +494,10 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do if Regex.match?(~r/https?:/, query) do with {:ok, activities} <- OStatus.fetch_activity_from_url(query) do activities + |> Enum.filter(fn + %{data: %{"type" => "Create"}} -> true + _ -> false + end) else _e -> [] end diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index 8f452c31c..c7b1a5b95 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -182,13 +182,13 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do def follow_import(%{assigns: %{user: user}} = conn, %{"list" => list}) do Task.start(fn -> String.split(list) - |> Enum.map(fn nick -> + |> Enum.map(fn account -> with %User{} = follower <- User.get_cached_by_ap_id(user.ap_id), - %User{} = followed <- User.get_or_fetch_by_nickname(nick), + %User{} = followed <- User.get_or_fetch(account), {:ok, follower} <- User.follow(follower, followed) do ActivityPub.follow(follower, followed) else - _e -> Logger.debug("follow_import: following #{nick} failed") + _e -> Logger.debug("follow_import: following #{account} failed") end end) end) diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 157e4826b..5f44e46c0 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -45,7 +45,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do def public_and_external_timeline(%{assigns: %{user: user}} = conn, params) do params = params - |> Map.put("type", ["Create", "Announce", "Follow"]) + |> Map.put("type", ["Create", "Announce"]) |> Map.put("blocking_user", user) activities = ActivityPub.fetch_public_activities(params) @@ -57,7 +57,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do def public_timeline(%{assigns: %{user: user}} = conn, params) do params = params - |> Map.put("type", ["Create", "Announce", "Follow"]) + |> Map.put("type", ["Create", "Announce"]) |> Map.put("local_only", true) |> Map.put("blocking_user", user) diff --git a/test/formatter_test.exs b/test/formatter_test.exs index d9cef8abc..ff882f8f1 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -57,6 +57,13 @@ defmodule Pleroma.FormatterTest do "<a href='https://en.wikipedia.org/wiki/Sophia_(Gnosticism)#Mythos_of_the_soul'>https://en.wikipedia.org/wiki/Sophia_(Gnosticism)#Mythos_of_the_soul</a>" assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected + + text = "https://www.google.co.jp/search?q=Nasim+Aghdam" + + expected = + "<a href='https://www.google.co.jp/search?q=Nasim+Aghdam'>https://www.google.co.jp/search?q=Nasim+Aghdam</a>" + + assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected end end |