diff options
-rw-r--r-- | app/helpers/atom_builder_helper.rb | 5 | ||||
-rw-r--r-- | app/services/post_status_service.rb | 2 | ||||
-rw-r--r-- | app/services/process_feed_service.rb | 2 | ||||
-rw-r--r-- | docs/Extensions.md | 4 |
4 files changed, 5 insertions, 8 deletions
diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb index f17b4cc72..c08d80ea0 100644 --- a/app/helpers/atom_builder_helper.rb +++ b/app/helpers/atom_builder_helper.rb @@ -42,9 +42,8 @@ module AtomBuilderHelper end def content(xml, content, warning = nil) - extra = { type: 'html' } - extra[:warning] = warning unless warning.blank? - xml.content(extra, content) unless content.blank? + xml.summary(warning) unless warning.blank? + xml.content({ type: 'html' }, content) unless content.blank? end def title(xml, title) diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 91b654603..979941c84 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -16,7 +16,7 @@ class PostStatusService < BaseService status = account.statuses.create!(text: text, thread: in_reply_to, sensitive: options[:sensitive], - spoiler_text: options[:spoiler_text], + spoiler_text: options[:spoiler_text] || '', visibility: options[:visibility], application: options[:application]) diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb index 4576b4321..626534176 100644 --- a/app/services/process_feed_service.rb +++ b/app/services/process_feed_service.rb @@ -225,7 +225,7 @@ class ProcessFeedService < BaseService end def content_warning(xml = @xml) - xml.at_xpath('./xmlns:content', xmlns: TagManager::XMLNS)['warning'] + xml.at_xpath('./xmlns:summary', xmlns: TagManager::XMLNS)&.content || '' end def published(xml = @xml) diff --git a/docs/Extensions.md b/docs/Extensions.md index a082a777d..a3d64ebf1 100644 --- a/docs/Extensions.md +++ b/docs/Extensions.md @@ -12,6 +12,4 @@ Some functionality in Mastodon required some additions to the protocols to enabl 2. Statuses can be marked as containing sensitive (or not safe for work) media. This is symbolized by a `<category term="nsfw" />` on the Atom entry -3. Statuses can have a content warning (used e.g. for warning about spoilers in the text). It is stored in the `warning` attribute on the `<content />` tag of the Atom entry, e.g. `<content type="html" warning="This post talks about the ending to 6th sense">Lorem ipsum dolor sit amet</content>` - -4. Statuses that are intended to be listed publicly on e.g. "whole known network" or "public" timelines contain a `<link rel="mentioned" href="http://activityschema.org/collection/public" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection"/>`. Conversely, statuses which do not contain that, are intended to be low key, unlisted +3. Statuses that are intended to be listed publicly on e.g. "whole known network" or "public" timelines contain a `<link rel="mentioned" href="http://activityschema.org/collection/public" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection"/>`. Conversely, statuses which do not contain that, are intended to be low key, unlisted |