0
0
Fork 0

Add support for editing for published statuses (#16697)

* Add support for editing for published statuses

* Fix references to stripped-out code

* Various fixes and improvements

* Further fixes and improvements

* Fix updates being potentially sent to unauthorized recipients

* Various fixes and improvements

* Fix wrong words in test

* Fix notifying accounts that were tagged but were not in the audience

* Fix mistake
This commit is contained in:
Eugen Rochko 2022-01-19 22:37:27 +01:00 committed by GitHub
parent 2d1f082bb6
commit 1060666c58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 1415 additions and 574 deletions

View file

@ -11,6 +11,7 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
attribute :content
attribute :content_map, if: :language?
attribute :updated, if: :edited?
has_many :media_attachments, key: :attachment
has_many :virtual_tags, key: :tag
@ -65,6 +66,8 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
object.language.present?
end
delegate :edited?, to: :object
def in_reply_to
return unless object.reply? && !object.thread.nil?
@ -79,6 +82,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
object.created_at.iso8601
end
def updated
object.edited_at.iso8601
end
def url
ActivityPub::TagManager.instance.url_for(object)
end

View file

@ -0,0 +1,6 @@
# frozen_string_literal: true
class REST::StatusEditSerializer < ActiveModel::Serializer
attributes :text, :spoiler_text, :media_attachments_changed,
:created_at
end

View file

@ -4,7 +4,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id,
:sensitive, :spoiler_text, :visibility, :language,
:uri, :url, :replies_count, :reblogs_count,
:favourites_count
:favourites_count, :edited_at
attribute :favourited, if: :current_user?
attribute :reblogged, if: :current_user?

View file

@ -0,0 +1,9 @@
# frozen_string_literal: true
class REST::StatusSourceSerializer < ActiveModel::Serializer
attributes :id, :text, :spoiler_text
def id
object.id.to_s
end
end