From 7580036307581a96790816683734433738ddd2b4 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Sat, 6 Apr 2019 11:51:54 -0500 Subject: curated world: also consider public favs --- app/services/fan_out_on_write_service.rb | 5 ++--- app/services/favourite_service.rb | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'app/services') diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb index 2065acde3..a81482dd6 100644 --- a/app/services/fan_out_on_write_service.rb +++ b/app/services/fan_out_on_write_service.rb @@ -3,7 +3,7 @@ class FanOutOnWriteService < BaseService # Push a status into home and mentions feeds # @param [Status] status - def call(status) + def call(status, allow_nonlocal = false, deliver_to_local = true) raise Mastodon::RaceConditionError if status.visibility.nil? deliver_to_self(status) if status.account.local? @@ -27,8 +27,7 @@ class FanOutOnWriteService < BaseService deliver_to_hashtags(status) if !status.reblog? && status.distributable? # we want to let community users decide what goes on the ftl with boosts - return unless status.network? || status.relayed? - deliver_to_local = true + return unless allow_nonlocal || status.network? || status.relayed? if status.reblog? then status = Status.find(status.reblog_of_id) diff --git a/app/services/favourite_service.rb b/app/services/favourite_service.rb index b565bcc32..fd7ade02b 100644 --- a/app/services/favourite_service.rb +++ b/app/services/favourite_service.rb @@ -16,6 +16,9 @@ class FavouriteService < BaseService favourite = Favourite.create!(account: account, status: status) + # stream it to the world timeline if public + FanOutOnWriteService.new.call(status, true, false) if status.public_visibility? + create_notification(favourite) bump_potential_friendship(account, status) -- cgit