MastoAPI: Fix always-sensitive bugs.
authorLain Iwakura <lain@soykaf.club>
Mon, 18 Dec 2017 15:56:03 +0000 (16:56 +0100)
committerLain Iwakura <lain@soykaf.club>
Mon, 18 Dec 2017 15:56:03 +0000 (16:56 +0100)
lib/pleroma/formatter.ex
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
test/web/mastodon_api/mastodon_api_controller_test.exs

index c98db2d94302987ab864c5f2f655cacebe74520f..a482c74e4adac72b561ac2e0ca65852830db153d 100644 (file)
@@ -10,7 +10,7 @@ defmodule Pleroma.Formatter do
   def parse_tags(text, data \\ %{}) do
     Regex.scan(@tag_regex, text)
     |> Enum.map(fn (["#" <> tag = full_tag]) -> {full_tag, String.downcase(tag)} end)
-    |> (fn map -> if data["sensitive"], do: [{"#nsfw", "nsfw"}] ++ map, else: map end).()
+    |> (fn map -> if data["sensitive"] in [true, "True", "true"], do: [{"#nsfw", "nsfw"}] ++ map, else: map end).()
   end
 
   def parse_mentions(text) do
index e50f53ba4b90c0296916585527d5648ce1ab9758..a17068be80259bca6619ba6f52d83f6c34b4c6f5 100644 (file)
@@ -162,7 +162,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
   def public_timeline(%{assigns: %{user: user}} = conn, params) do
     params = params
     |> Map.put("type", ["Create", "Announce"])
-    |> Map.put("local_only", !!params["local"])
+    |> Map.put("local_only", params["local"] in [true, "True", "true"])
     |> Map.put("blocking_user", user)
 
     activities = ActivityPub.fetch_public_activities(params)
index 8bfad526517aab6437068b7816733351cd448733..80e15f35e1a90e416ff51d80e12e7772c4720271 100644 (file)
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     {:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
 
     conn = conn
-    |> get("/api/v1/timelines/public")
+    |> get("/api/v1/timelines/public", %{"local" => "False"})
 
     assert length(json_response(conn, 200)) == 2
 
@@ -50,9 +50,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
 
     conn = conn
     |> assign(:user, user)
-    |> post("/api/v1/statuses", %{"status" => "cofe", "spoiler_text" => "2hu"})
+    |> post("/api/v1/statuses", %{"status" => "cofe", "spoiler_text" => "2hu", "sensitive" => "false"})
 
-    assert %{"content" => "cofe", "id" => id, "spoiler_text" => "2hu"} = json_response(conn, 200)
+    assert %{"content" => "cofe", "id" => id, "spoiler_text" => "2hu", "sensitive" => false} = json_response(conn, 200)
     assert Repo.get(Activity, id)
   end