Browse Source

Fix not publishing update of remote timeline (#13745)

* Fix not publishing update of remote timeline

* fix @ missing

* if/unless to if/else
closed-social-v3
Takeshi Umeda 4 years ago
committed by GitHub
parent
commit
d8bad8fbf6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 7 deletions
  1. +10
    -3
      app/services/batched_remove_status_service.rb
  2. +10
    -2
      app/services/fan_out_on_write_service.rb
  3. +10
    -2
      app/services/remove_status_service.rb

+ 10
- 3
app/services/batched_remove_status_service.rb View File

@ -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|

+ 10
- 2
app/services/fan_out_on_write_service.rb View File

@ -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)

+ 10
- 2
app/services/remove_status_service.rb View File

@ -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

Loading…
Cancel
Save