summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-12-28 12:02:16 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-12-28 12:02:16 +0000
commit3966add048fda791e6893540d8304b0e626ab9f4 (patch)
tree3a3da119eb71a0536bd5f23226834dfea634d74a
parentb122b6ffa318af30586f9da0532135959804a6a0 (diff)
Revert "Merge branch 'features/hashtag-column' into 'develop'"
This reverts merge request !2824
-rw-r--r--CHANGELOG.md2
-rw-r--r--docs/administration/CLI_tasks/database.md12
-rw-r--r--lib/mix/tasks/pleroma/database.ex51
-rw-r--r--lib/pleroma/activity/ir/topics.ex8
-rw-r--r--lib/pleroma/constants.ex3
-rw-r--r--lib/pleroma/object.ex4
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex8
-rw-r--r--lib/pleroma/web/activity_pub/mrf/simple_policy.ex9
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex38
-rw-r--r--lib/pleroma/web/common_api/utils.ex11
-rw-r--r--lib/pleroma/web/feed/feed_view.ex1
-rw-r--r--lib/pleroma/web/mastodon_api/views/status_view.ex2
-rw-r--r--lib/pleroma/web/templates/feed/feed/_activity.atom.eex4
-rw-r--r--lib/pleroma/web/templates/feed/feed/_activity.rss.eex4
-rw-r--r--lib/pleroma/web/templates/feed/feed/_tag_activity.atom.eex4
-rw-r--r--priv/repo/migrations/20200731165800_add_hashtags_index_to_objects.exs11
-rw-r--r--test/pleroma/activity/ir/topics_test.exs2
-rw-r--r--test/pleroma/web/activity_pub/mrf/simple_policy_test.exs6
-rw-r--r--test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs4
-rw-r--r--test/pleroma/web/activity_pub/transmogrifier_test.exs41
-rw-r--r--test/pleroma/web/common_api/utils_test.exs3
-rw-r--r--test/pleroma/web/common_api_test.exs3
-rw-r--r--test/pleroma/web/mastodon_api/views/status_view_test.exs4
-rw-r--r--test/support/factory.ex2
24 files changed, 72 insertions, 165 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 38972067c..e1604ab3a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Changed
-- **Breaking:** Changed storage of hashtags in plain-text to `object->hashtags`, run [`pleroma.database fill_old_hashtags` mix task](docs/administration/CLI_tasks/database.md) for old objects (works while pleroma is running).
- Polls now always return a `voters_count`, even if they are single-choice.
- Admin Emails: The ap id is used as the user link in emails now.
- Improved registration workflow for email confirmation and account approval modes.
@@ -444,6 +443,7 @@ switched to a new configuration mechanism, however it was not officially removed
- Static-FE: Fix remote posts not being sanitized
### Fixed
+=======
- Rate limiter crashes when there is no explicitly specified ip in the config
- 500 errors when no `Accept` header is present if Static-FE is enabled
- Instance panel not being updated immediately due to wrong `Cache-Control` headers
diff --git a/docs/administration/CLI_tasks/database.md b/docs/administration/CLI_tasks/database.md
index eb85381ff..6dca83167 100644
--- a/docs/administration/CLI_tasks/database.md
+++ b/docs/administration/CLI_tasks/database.md
@@ -91,18 +91,6 @@ Can be safely re-run
mix pleroma.database fix_likes_collections
```
-## Fill hashtags for old objects
-
-Migrate hashags fields for old objects, from now to `months_limit` months.
-
-```sh tab="OTP"
-./bin/pleroma_ctl database fill_old_hashtags <months_limit>
-```
-
-```sh tab="From Source"
-mix pleroma.database fill_old_hashtags <months_limit>
-```
-
## Vacuum the database
### Analyze
diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex
index a09852503..22151ce08 100644
--- a/lib/mix/tasks/pleroma/database.ex
+++ b/lib/mix/tasks/pleroma/database.ex
@@ -128,57 +128,6 @@ defmodule Mix.Tasks.Pleroma.Database do
|> Stream.run()
end
- def run(["fill_old_hashtags", month_limit]) do
- import Ecto.Query
-
- start_pleroma()
-
- month_limit = String.to_integer(month_limit)
-
- if month_limit < 1 do
- shell_error("Invalid `month_limit` argument, needs to be greater than 1")
- else
- time_limit = DateTime.utc_now() |> Timex.shift(months: -month_limit)
-
- from(
- o in Object,
- where: fragment("(?)->>'hashtags' is null", o.data),
- where: fragment("(?)->>'tag' != '[]'", o.data),
- where: o.inserted_at < ^time_limit,
- select: %{id: o.id, tag: fragment("(?)->>'tag'", o.data)}
- )
- |> Pleroma.Repo.chunk_stream(200, :batches)
- |> Stream.each(fn objects ->
- Repo.transaction(fn ->
- objects_first = objects |> List.first()
- objects_last = objects |> List.last()
-
- Logger.info(
- "fill_old_hashtags: #{objects_first.id} (#{objects_first.inserted_at}) -- #{
- objects_last.id
- } (#{objects_last.inserted_at})"
- )
-
- objects
- |> Enum.map(fn object ->
- tags =
- object.tag
- |> Jason.decode!()
- |> Enum.filter(&is_bitstring(&1))
-
- Object
- |> where([o], o.id == ^object.id)
- |> update([o],
- set: [data: fragment("safe_jsonb_set(?, '{hashtags}', ?, true)", o.data, ^tags)]
- )
- |> Repo.update_all([], timeout: :infinity)
- end)
- end)
- end)
- |> Stream.run()
- end
- end
-
def run(["vacuum", args]) do
start_pleroma()
diff --git a/lib/pleroma/activity/ir/topics.ex b/lib/pleroma/activity/ir/topics.ex
index b7553c728..fe2e8cb5c 100644
--- a/lib/pleroma/activity/ir/topics.ex
+++ b/lib/pleroma/activity/ir/topics.ex
@@ -48,12 +48,14 @@ defmodule Pleroma.Activity.Ir.Topics do
tags
end
- defp hashtags_to_topics(object) do
- object
- |> Object.hashtags()
+ defp hashtags_to_topics(%{data: %{"tag" => tags}}) do
+ tags
+ |> Enum.filter(&is_bitstring(&1))
|> Enum.map(fn tag -> "hashtag:" <> tag end)
end
+ defp hashtags_to_topics(_), do: []
+
defp remote_topics(%{local: true}), do: []
defp remote_topics(%{actor: actor}) when is_binary(actor),
diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex
index 8f265715c..cf8182d55 100644
--- a/lib/pleroma/constants.ex
+++ b/lib/pleroma/constants.ex
@@ -18,8 +18,7 @@ defmodule Pleroma.Constants do
"emoji",
"context_id",
"deleted_activity_id",
- "pleroma_internal",
- "hashtags"
+ "pleroma_internal"
]
)
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex
index 8836beaac..b4a994da9 100644
--- a/lib/pleroma/object.ex
+++ b/lib/pleroma/object.ex
@@ -346,8 +346,4 @@ defmodule Pleroma.Object do
def self_replies(object, opts \\ []),
do: replies(object, Keyword.put(opts, :self_only, true))
-
- def hashtags(%Object{data: %{"hashtags" => hashtags}}), do: hashtags || []
- def hashtags(%Object{data: %{"tag" => tags}}), do: Enum.filter(tags, &is_bitstring(&1))
- def hashtags(_), do: []
end
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 07a23b09b..5059bff03 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -669,7 +669,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_tag_reject(query, %{tag_reject: [_ | _] = tag_reject}) do
from(
[_activity, object] in query,
- where: fragment("not (?)->'hashtags' \\?| (?)", object.data, ^tag_reject)
+ where: fragment("not (?)->'tag' \\?| (?)", object.data, ^tag_reject)
)
end
@@ -682,7 +682,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_tag_all(query, %{tag_all: [_ | _] = tag_all}) do
from(
[_activity, object] in query,
- where: fragment("(?)->'hashtags' \\?& (?)", object.data, ^tag_all)
+ where: fragment("(?)->'tag' \\?& (?)", object.data, ^tag_all)
)
end
@@ -695,14 +695,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_tag(query, %{tag: tag}) when is_list(tag) do
from(
[_activity, object] in query,
- where: fragment("(?)->'hashtags' \\?| (?)", object.data, ^tag)
+ where: fragment("(?)->'tag' \\?| (?)", object.data, ^tag)
)
end
defp restrict_tag(query, %{tag: tag}) when is_binary(tag) do
from(
[_activity, object] in query,
- where: fragment("(?)->'hashtags' \\? (?)", object.data, ^tag)
+ where: fragment("(?)->'tag' \\? (?)", object.data, ^tag)
)
end
diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
index 94933ce99..6cd91826d 100644
--- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
+++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
@@ -8,7 +8,6 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
alias Pleroma.Config
alias Pleroma.FollowingRelationship
- alias Pleroma.Object
alias Pleroma.User
alias Pleroma.Web.ActivityPub.MRF
@@ -75,11 +74,9 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
object =
if MRF.subdomain_match?(media_nsfw, actor_host) do
- child_object =
- child_object
- |> Map.put("hashtags", Object.hashtags(%Object{data: child_object}) ++ ["nsfw"])
- |> Map.put("sensitive", true)
-
+ tags = (child_object["tag"] || []) ++ ["nsfw"]
+ child_object = Map.put(child_object, "tag", tags)
+ child_object = Map.put(child_object, "sensitive", true)
Map.put(object, "object", child_object)
else
object
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 109f03641..565d32433 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -312,15 +312,16 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def fix_emoji(object), do: object
def fix_tag(%{"tag" => tag} = object) when is_list(tag) do
- hashtags =
+ tags =
tag
|> Enum.filter(fn data -> data["type"] == "Hashtag" and data["name"] end)
- |> Enum.map(fn
- %{"name" => "#" <> hashtag} -> String.downcase(hashtag)
- %{"name" => hashtag} -> String.downcase(hashtag)
+ |> Enum.map(fn %{"name" => name} ->
+ name
+ |> String.slice(1..-1)
+ |> String.downcase()
end)
- Map.put(object, "hashtags", hashtags)
+ Map.put(object, "tag", tag ++ tags)
end
def fix_tag(%{"tag" => %{} = tag} = object) do
@@ -863,18 +864,23 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def maybe_fix_object_url(data), do: data
def add_hashtags(object) do
- hashtags =
- %Object{data: object}
- |> Object.hashtags()
- |> Enum.map(fn tag ->
- %{
- "href" => Pleroma.Web.Endpoint.url() <> "/tags/#{tag}",
- "name" => "##{tag}",
- "type" => "Hashtag"
- }
+ tags =
+ (object["tag"] || [])
+ |> Enum.map(fn
+ # Expand internal representation tags into AS2 tags.
+ tag when is_binary(tag) ->
+ %{
+ "href" => Pleroma.Web.Endpoint.url() <> "/tags/#{tag}",
+ "name" => "##{tag}",
+ "type" => "Hashtag"
+ }
+
+ # Do not process tags which are already AS2 tag objects.
+ tag when is_map(tag) ->
+ tag
end)
- Map.put(object, "tag", hashtags ++ (object["tag"] || []))
+ Map.put(object, "tag", tags)
end
# TODO These should be added on our side on insertion, it doesn't make much
@@ -930,7 +936,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
end
def set_sensitive(object) do
- tags = object["hashtags"] || object["tag"] || []
+ tags = object["tag"] || []
Map.put(object, "sensitive", "nsfw" in tags)
end
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 880b5d78f..1c74ea787 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -310,16 +310,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do
"context" => draft.context,
"attachment" => draft.attachments,
"actor" => draft.user.ap_id,
- "tag" => Enum.filter(draft.tags, &is_map(&1)) |> Enum.uniq(),
- "hashtags" =>
- draft.tags
- |> Enum.reduce([], fn
- # Why so many formats
- {:name, x}, acc -> if is_bitstring(x), do: [x | acc], else: acc
- {"#" <> _, x}, acc -> if is_bitstring(x), do: [x | acc], else: acc
- x, acc -> if is_bitstring(x), do: [x | acc], else: acc
- end)
- |> Enum.uniq()
+ "tag" => Keyword.values(draft.tags) |> Enum.uniq()
}
|> add_in_reply_to(draft.in_reply_to)
|> Map.merge(draft.extra)
diff --git a/lib/pleroma/web/feed/feed_view.ex b/lib/pleroma/web/feed/feed_view.ex
index 1155c6a39..30e0a2a55 100644
--- a/lib/pleroma/web/feed/feed_view.ex
+++ b/lib/pleroma/web/feed/feed_view.ex
@@ -32,7 +32,6 @@ defmodule Pleroma.Web.Feed.FeedView do
%{
activity: activity,
- object: object,
data: Map.get(object, :data),
actor: actor
}
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 3ba453d1f..2301e21cf 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -347,7 +347,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
media_attachments: attachments,
poll: render(PollView, "show.json", object: object, for: opts[:for]),
mentions: mentions,
- tags: build_tags(Object.hashtags(object)),
+ tags: build_tags(tags),
application: %{
name: "Web",
website: nil
diff --git a/lib/pleroma/web/templates/feed/feed/_activity.atom.eex b/lib/pleroma/web/templates/feed/feed/_activity.atom.eex
index 4a1a3e993..3fd150c4e 100644
--- a/lib/pleroma/web/templates/feed/feed/_activity.atom.eex
+++ b/lib/pleroma/web/templates/feed/feed/_activity.atom.eex
@@ -22,8 +22,8 @@
<link type="text/html" href='<%= @data["external_url"] %>' rel="alternate"/>
<% end %>
- <%= for hashtag <- Object.hashtags(@object) do %>
- <category term="<%= hashtag %>"></category>
+ <%= for tag <- @data["tag"] || [] do %>
+ <category term="<%= tag %>"></category>
<% end %>
<%= for attachment <- @data["attachment"] || [] do %>
diff --git a/lib/pleroma/web/templates/feed/feed/_activity.rss.eex b/lib/pleroma/web/templates/feed/feed/_activity.rss.eex
index 9ebaa3300..42960de7d 100644
--- a/lib/pleroma/web/templates/feed/feed/_activity.rss.eex
+++ b/lib/pleroma/web/templates/feed/feed/_activity.rss.eex
@@ -21,8 +21,8 @@
<link><%= @data["external_url"] %></link>
<% end %>
- <%= for hashtag <- Object.hashtags(@object) do %>
- <category term="<%= hashtag %>"></category>
+ <%= for tag <- @data["tag"] || [] do %>
+ <category term="<%= tag %>"></category>
<% end %>
<%= for attachment <- @data["attachment"] || [] do %>
diff --git a/lib/pleroma/web/templates/feed/feed/_tag_activity.atom.eex b/lib/pleroma/web/templates/feed/feed/_tag_activity.atom.eex
index 8d78520cf..cf5874a91 100644
--- a/lib/pleroma/web/templates/feed/feed/_tag_activity.atom.eex
+++ b/lib/pleroma/web/templates/feed/feed/_tag_activity.atom.eex
@@ -41,8 +41,8 @@
<% end %>
<% end %>
- <%= for hashtag <- Object.hashtags(@object) do %>
- <category term="<%= hashtag %>"></category>
+ <%= for tag <- @data["tag"] || [] do %>
+ <category term="<%= tag %>"></category>
<% end %>
<%= for {emoji, file} <- @data["emoji"] || %{} do %>
diff --git a/priv/repo/migrations/20200731165800_add_hashtags_index_to_objects.exs b/priv/repo/migrations/20200731165800_add_hashtags_index_to_objects.exs
deleted file mode 100644
index b78682821..000000000
--- a/priv/repo/migrations/20200731165800_add_hashtags_index_to_objects.exs
+++ /dev/null
@@ -1,11 +0,0 @@
-defmodule Pleroma.Repo.Migrations.AddHashtagsIndexToObjects do
- use Ecto.Migration
-
- def change do
- drop_if_exists(index(:objects, ["(data->'tag')"], using: :gin, name: :objects_tags))
-
- create_if_not_exists(
- index(:objects, ["(data->'hashtags')"], using: :gin, name: :objects_hashtags)
- )
- end
-end
diff --git a/test/pleroma/activity/ir/topics_test.exs b/test/pleroma/activity/ir/topics_test.exs
index dd1611bbe..b464822d9 100644
--- a/test/pleroma/activity/ir/topics_test.exs
+++ b/test/pleroma/activity/ir/topics_test.exs
@@ -78,7 +78,7 @@ defmodule Pleroma.Activity.Ir.TopicsTest do
end
test "converts tags to hash tags", %{activity: %{object: %{data: data} = object} = activity} do
- tagged_data = Map.put(data, "hashtags", ["foo", "bar"])
+ tagged_data = Map.put(data, "tag", ["foo", "bar"])
activity = %{activity | object: %{object | data: tagged_data}}
topics = Topics.get_activity_topics(activity)
diff --git a/test/pleroma/web/activity_pub/mrf/simple_policy_test.exs b/test/pleroma/web/activity_pub/mrf/simple_policy_test.exs
index 9777fcde1..d7dde62c4 100644
--- a/test/pleroma/web/activity_pub/mrf/simple_policy_test.exs
+++ b/test/pleroma/web/activity_pub/mrf/simple_policy_test.exs
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
assert SimplePolicy.filter(media_message) ==
{:ok,
media_message
- |> put_in(["object", "hashtags"], ["foo", "nsfw"])
+ |> put_in(["object", "tag"], ["foo", "nsfw"])
|> put_in(["object", "sensitive"], true)}
assert SimplePolicy.filter(local_message) == {:ok, local_message}
@@ -92,7 +92,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
assert SimplePolicy.filter(media_message) ==
{:ok,
media_message
- |> put_in(["object", "hashtags"], ["foo", "nsfw"])
+ |> put_in(["object", "tag"], ["foo", "nsfw"])
|> put_in(["object", "sensitive"], true)}
assert SimplePolicy.filter(local_message) == {:ok, local_message}
@@ -105,7 +105,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
"type" => "Create",
"object" => %{
"attachment" => [%{}],
- "hashtags" => ["foo"],
+ "tag" => ["foo"],
"sensitive" => false
}
}
diff --git a/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs
index 528636f04..b4a006aec 100644
--- a/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs
+++ b/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs
@@ -39,7 +39,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
object = Object.normalize(data["object"])
- assert ["test"] == object.data["hashtags"]
+ assert "test" in object.data["tag"]
end
test "it cleans up incoming notices which are not really DMs" do
@@ -220,7 +220,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
object = Object.normalize(data["object"])
- assert object.data["hashtags"] == ["moo"]
+ assert Enum.at(object.data["tag"], 2) == "moo"
end
test "it works for incoming notices with contentMap" do
diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs
index d0bd00b58..66ea7664a 100644
--- a/test/pleroma/web/activity_pub/transmogrifier_test.exs
+++ b/test/pleroma/web/activity_pub/transmogrifier_test.exs
@@ -204,37 +204,30 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
{:ok, activity} = CommonAPI.post(user, %{status: "#2hu :firefox:"})
- {:ok, %{"object" => modified_object}} = Transmogrifier.prepare_outgoing(activity.data)
-
- assert [
- %{"name" => "#2hu", "type" => "Hashtag"},
- %{"name" => ":firefox:", "type" => "Emoji"}
- ] = modified_object["tag"]
-
- refute Map.has_key?(modified_object, "hashtags")
- refute Map.has_key?(modified_object, "emoji")
- refute Map.has_key?(modified_object, "like_count")
- refute Map.has_key?(modified_object, "announcements")
- refute Map.has_key?(modified_object, "announcement_count")
- refute Map.has_key?(modified_object, "context_id")
+ {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
+
+ assert length(modified["object"]["tag"]) == 2
+
+ assert is_nil(modified["object"]["emoji"])
+ assert is_nil(modified["object"]["like_count"])
+ assert is_nil(modified["object"]["announcements"])
+ assert is_nil(modified["object"]["announcement_count"])
+ assert is_nil(modified["object"]["context_id"])
end
test "it strips internal fields of article" do
activity = insert(:article_activity)
- {:ok, %{"object" => modified_object}} = Transmogrifier.prepare_outgoing(activity.data)
+ {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
- assert [
- %{"name" => "#2hu", "type" => "Hashtag"},
- %{"name" => ":2hu:", "type" => "Emoji"}
- ] = modified_object["tag"]
+ assert length(modified["object"]["tag"]) == 2
- refute Map.has_key?(modified_object, "hashtags")
- refute Map.has_key?(modified_object, "emoji")
- refute Map.has_key?(modified_object, "like_count")
- refute Map.has_key?(modified_object, "announcements")
- refute Map.has_key?(modified_object, "announcement_count")
- refute Map.has_key?(modified_object, "context_id")
+ assert is_nil(modified["object"]["emoji"])
+ assert is_nil(modified["object"]["like_count"])
+ assert is_nil(modified["object"]["announcements"])
+ assert is_nil(modified["object"]["announcement_count"])
+ assert is_nil(modified["object"]["context_id"])
+ assert is_nil(modified["object"]["likes"])
end
test "the directMessage flag is present" do
diff --git a/test/pleroma/web/common_api/utils_test.exs b/test/pleroma/web/common_api/utils_test.exs
index 211042192..4d6c9ea26 100644
--- a/test/pleroma/web/common_api/utils_test.exs
+++ b/test/pleroma/web/common_api/utils_test.exs
@@ -591,8 +591,7 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do
"context" => "2hu",
"sensitive" => false,
"summary" => "test summary",
- "hashtags" => ["jimm"],
- "tag" => [],
+ "tag" => ["jimm"],
"to" => [user2.ap_id],
"type" => "Note",
"custom_tag" => "test"
diff --git a/test/pleroma/web/common_api_test.exs b/test/pleroma/web/common_api_test.exs
index 3b7ac2033..585b2c174 100644
--- a/test/pleroma/web/common_api_test.exs
+++ b/test/pleroma/web/common_api_test.exs
@@ -493,8 +493,7 @@ defmodule Pleroma.Web.CommonAPITest do
object = Object.normalize(activity)
- assert object.data["tag"] == []
- assert object.data["hashtags"] == ["2hu"]
+ assert object.data["tag"] == ["2hu"]
end
test "it adds emoji in the object" do
diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs
index d4378ccbc..fa9066716 100644
--- a/test/pleroma/web/mastodon_api/views/status_view_test.exs
+++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs
@@ -262,8 +262,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
mentions: [],
tags: [
%{
- name: "2hu",
- url: "/tag/2hu"
+ name: "#{object_data["tag"]}",
+ url: "/tag/#{object_data["tag"]}"
}
],
application: %{
diff --git a/test/support/factory.ex b/test/support/factory.ex
index a709d0dae..8eb07dc3c 100644
--- a/test/support/factory.ex
+++ b/test/support/factory.ex
@@ -93,7 +93,7 @@ defmodule Pleroma.Factory do
"like_count" => 0,
"context" => "2hu",
"summary" => "2hu",
- "hashtags" => ["2hu"],
+ "tag" => ["2hu"],
"emoji" => %{
"2hu" => "corndog.png"
}