diff options
author | ThibG <thib@sitedethib.com> | 2018-03-19 20:19:35 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-03-19 20:19:35 +0100 |
commit | ff6b8a6443c2c97d185927053bdc8816e0e03434 (patch) | |
tree | 160aa07b01886acdb0d1bd113c5d2e62c7e17115 /app/serializers | |
parent | 6b76a6212d8aa596379115b248ec145905946c42 (diff) |
Serialize mentions in the order they are added (#6836)
Up until now, the order seemed to be in the *opposite* order, which caused the WebUI to populate mentions in reversed order when replying to toots local to one's instance.
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/activitypub/note_serializer.rb | 2 | ||||
-rw-r--r-- | app/serializers/rest/status_serializer.rb | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index d0e6290c1..abaf29047 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -57,7 +57,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer end def virtual_tags - object.mentions + object.tags + object.emojis + object.mentions.order(:id) + object.tags + object.emojis end def atom_uri diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index e6270f902..67da92cd5 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -15,7 +15,7 @@ class REST::StatusSerializer < ActiveModel::Serializer belongs_to :account, serializer: REST::AccountSerializer has_many :media_attachments, serializer: REST::MediaAttachmentSerializer - has_many :mentions + has_many :ordered_mentions, key: :mentions has_many :tags has_many :emojis, serializer: REST::CustomEmojiSerializer @@ -86,6 +86,10 @@ class REST::StatusSerializer < ActiveModel::Serializer %w(public unlisted).include?(object.visibility) end + def ordered_mentions + object.mentions.order(:id) + end + class ApplicationSerializer < ActiveModel::Serializer attributes :name, :website end |