Added a timeline for Direct statuses

* Lists all Direct statuses you've sent and received
* Displayed in Getting Started
* Streaming server support for direct TL
This commit is contained in:
Matthew Walsh
2017-10-15 21:02:39 -07:00
parent 09d81defcd
commit 3db80f75a6
20 changed files with 333 additions and 11 deletions

View File

@ -40,6 +40,7 @@ class BatchedRemoveStatusService < BaseService
# Cannot be batched
statuses.each do |status|
unpush_from_public_timelines(status)
unpush_from_direct_timelines(status) if status.direct_visibility?
batch_salmon_slaps(status) if status.local?
end
@ -100,6 +101,16 @@ class BatchedRemoveStatusService < BaseService
end
end
def unpush_from_direct_timelines(status)
payload = @json_payloads[status.id]
redis.pipelined do
@mentions[status.id].each do |mention|
redis.publish("timeline:direct:#{mention.account.id}", payload) if mention.account.local?
end
redis.publish("timeline:direct:#{status.account.id}", payload) if status.account.local?
end
end
def batch_salmon_slaps(status)
return if @mentions[status.id].empty?