about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/helpers/atom_builder_helper.rb5
-rw-r--r--app/services/post_status_service.rb2
-rw-r--r--app/services/process_feed_service.rb2
-rw-r--r--docs/Extensions.md4
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