When serializing polls over OStatus, serialize poll options to text (#10160)
* When serializing polls over OStatus, serialize poll options to text * Do the same for RSS feeds * Use “[ ] ” as a prefix for poll options instead of “- ”gh/stable
parent
7d5e2dda78
commit
636db1f54f
|
@ -19,6 +19,10 @@ class Formatter
|
||||||
|
|
||||||
raw_content = status.text
|
raw_content = status.text
|
||||||
|
|
||||||
|
if options[:inline_poll_options] && status.poll
|
||||||
|
raw_content = raw_content + '\n\n' + status.poll.options.map { |title| "[ ] #{title}" }.join('\n')
|
||||||
|
end
|
||||||
|
|
||||||
return '' if raw_content.blank?
|
return '' if raw_content.blank?
|
||||||
|
|
||||||
unless status.local?
|
unless status.local?
|
||||||
|
|
|
@ -352,7 +352,7 @@ class OStatus::AtomSerializer
|
||||||
append_element(entry, 'link', nil, rel: :alternate, type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(status)) if status.account.local?
|
append_element(entry, 'link', nil, rel: :alternate, type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(status)) if status.account.local?
|
||||||
|
|
||||||
append_element(entry, 'summary', status.spoiler_text, 'xml:lang': status.language) if status.spoiler_text?
|
append_element(entry, 'summary', status.spoiler_text, 'xml:lang': status.language) if status.spoiler_text?
|
||||||
append_element(entry, 'content', Formatter.instance.format(status).to_str || '.', type: 'html', 'xml:lang': status.language)
|
append_element(entry, 'content', Formatter.instance.format(status, inline_poll_options: true).to_str || '.', type: 'html', 'xml:lang': status.language)
|
||||||
|
|
||||||
status.active_mentions.sort_by(&:id).each do |mentioned|
|
status.active_mentions.sort_by(&:id).each do |mentioned|
|
||||||
append_element(entry, 'link', nil, rel: :mentioned, 'ostatus:object-type': OStatus::TagManager::TYPES[:person], href: OStatus::TagManager.instance.uri_for(mentioned.account))
|
append_element(entry, 'link', nil, rel: :mentioned, 'ostatus:object-type': OStatus::TagManager::TYPES[:person], href: OStatus::TagManager.instance.uri_for(mentioned.account))
|
||||||
|
|
|
@ -22,7 +22,7 @@ class RSS::AccountSerializer
|
||||||
item.title(status.title)
|
item.title(status.title)
|
||||||
.link(TagManager.instance.url_for(status))
|
.link(TagManager.instance.url_for(status))
|
||||||
.pub_date(status.created_at)
|
.pub_date(status.created_at)
|
||||||
.description(status.spoiler_text.presence || Formatter.instance.format(status).to_str)
|
.description(status.spoiler_text.presence || Formatter.instance.format(status, inline_poll_options: true).to_str)
|
||||||
|
|
||||||
status.media_attachments.each do |media|
|
status.media_attachments.each do |media|
|
||||||
item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, length: media.file.size)
|
item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, length: media.file.size)
|
||||||
|
|
Reference in New Issue