Add antenna timeline

This commit is contained in:
KMY 2023-08-19 17:25:55 +09:00
parent f393aa2a85
commit 5c758b344c
15 changed files with 375 additions and 14 deletions

View file

@ -90,6 +90,14 @@ class FeedManager
true
end
def push_to_antenna(antenna, status, update: false)
return false unless add_to_feed(:antenna, antenna.id, status, aggregate_reblogs: antenna.account.user&.aggregates_reblogs?)
trim(:antenna, antenna.id)
PushUpdateWorker.perform_async(antenna.account_id, status.id, "timeline:antenna:#{antenna.id}", { 'update' => update }) if push_update_required?("timeline:antenna:#{antenna.id}")
true
end
# Remove a status from a list feed and send a streaming API update
# @param [List] list
# @param [Status] status
@ -102,6 +110,13 @@ class FeedManager
true
end
def unpush_from_antenna(antenna, status, update: false)
return false unless remove_from_feed(:antenna, antenna.id, status, aggregate_reblogs: antenna.account.user&.aggregates_reblogs?)
redis.publish("timeline:antenna:#{antenna.id}", Oj.dump(event: :delete, payload: status.id.to_s)) unless update
true
end
# Fill a home feed with an account's statuses
# @param [Account] from_account
# @param [Account] into_account