diff options
author | Takeshi Umeda <noel.yoshiba@gmail.com> | 2020-05-12 22:24:35 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-12 15:24:35 +0200 |
commit | d8bad8fbf6af52503d9a29da6ce36148e77b9f1b (patch) | |
tree | 0364ce78067731028110aee4b63293aa381c593b | |
parent | 7af8af3b4a8f10388e02bcd9892e19f708aaebd4 (diff) |
Fix not publishing update of remote timeline (#13745)
* Fix not publishing update of remote timeline * fix @ missing * if/unless to if/else
-rw-r--r-- | app/services/batched_remove_status_service.rb | 13 | ||||
-rw-r--r-- | app/services/fan_out_on_write_service.rb | 12 | ||||
-rw-r--r-- | app/services/remove_status_service.rb | 12 |
3 files changed, 30 insertions, 7 deletions
diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb index 3638134be..2295a01dc 100644 --- a/app/services/batched_remove_status_service.rb +++ b/app/services/batched_remove_status_service.rb @@ -72,11 +72,18 @@ class BatchedRemoveStatusService < BaseService redis.pipelined do redis.publish('timeline:public', payload) - redis.publish('timeline:public:local', payload) if status.local? - + if status.local? + redis.publish('timeline:public:local', payload) + else + redis.publish('timeline:public:remote', payload) + end if status.media_attachments.any? redis.publish('timeline:public:media', payload) - redis.publish('timeline:public:local:media', payload) if status.local? + if status.local? + redis.publish('timeline:public:local:media', payload) + else + redis.publish('timeline:public:remote:media', payload) + end end @tags[status.id].each do |hashtag| diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb index 95336ef45..276eac0c1 100644 --- a/app/services/fan_out_on_write_service.rb +++ b/app/services/fan_out_on_write_service.rb @@ -81,14 +81,22 @@ class FanOutOnWriteService < BaseService Rails.logger.debug "Delivering status #{status.id} to public timeline" Redis.current.publish('timeline:public', @payload) - Redis.current.publish('timeline:public:local', @payload) if status.local? + if status.local? + Redis.current.publish('timeline:public:local', @payload) + else + Redis.current.publish('timeline:public:remote', @payload) + end end def deliver_to_media(status) Rails.logger.debug "Delivering status #{status.id} to media timeline" Redis.current.publish('timeline:public:media', @payload) - Redis.current.publish('timeline:public:local:media', @payload) if status.local? + if status.local? + Redis.current.publish('timeline:public:local:media', @payload) + else + Redis.current.publish('timeline:public:remote:media', @payload) + end end def deliver_to_own_conversation(status) diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index f9352ed3d..4f0edc3cf 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -140,14 +140,22 @@ class RemoveStatusService < BaseService return unless @status.public_visibility? redis.publish('timeline:public', @payload) - redis.publish('timeline:public:local', @payload) if @status.local? + if @status.local? + redis.publish('timeline:public:local', @payload) + else + redis.publish('timeline:public:remote', @payload) + end end def remove_from_media return unless @status.public_visibility? redis.publish('timeline:public:media', @payload) - redis.publish('timeline:public:local:media', @payload) if @status.local? + if @status.local? + redis.publish('timeline:public:local:media', @payload) + else + redis.publish('timeline:public:remote:media', @payload) + end end def remove_media |