about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/lib/bangtags.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb
index 9c5d0b3f3..b9427a1f6 100644
--- a/app/lib/bangtags.rb
+++ b/app/lib/bangtags.rb
@@ -379,6 +379,13 @@ class Bangtags
             @parent_status.reject_replies = true
             @parent_status.save
             Rails.cache.delete("statuses/#{@parent_status.id}")
+          when 'bookmark', 'bm'
+            Bookmark.find_or_create_by!(account: @account, status: @parent_status)
+            next if @parent_status.curated || !@parent_status.distributable?
+            next if @parent_status.reply? && @status.in_reply_to_account_id != @account.id
+            @parent_status.curated = true
+            @parent_status.save
+            FanOutOnWriteService.new.call(@parent_status)
           end
         when 'media'
           chunk = nil