mirror of
https://git.sr.ht/~tsileo/microblog.pub
synced 2024-12-22 05:04:27 +00:00
Improve actor updates recipients
This commit is contained in:
parent
a0471cbedc
commit
ad62b79da9
1 changed files with 8 additions and 2 deletions
|
@ -90,7 +90,8 @@ def _send_actor_update_if_needed(db_session: Session) -> None:
|
|||
db_session.add(outbox_object)
|
||||
db_session.flush()
|
||||
|
||||
# TODO(ts): also send to every actor we contact (distinct on recipient)
|
||||
# Send the update to the followers collection and all the actor we have ever
|
||||
# contacted
|
||||
followers = (
|
||||
(
|
||||
db_session.scalars(
|
||||
|
@ -103,7 +104,12 @@ def _send_actor_update_if_needed(db_session: Session) -> None:
|
|||
for rcp in {
|
||||
follower.actor.shared_inbox_url or follower.actor.inbox_url
|
||||
for follower in followers
|
||||
}:
|
||||
} + {
|
||||
row.recipient
|
||||
for row in db_session.execute(
|
||||
select(func.distinct(models.OutgoingActivity.recipient).label("recipient"))
|
||||
)
|
||||
}: # type: ignore
|
||||
outgoing_activity = models.OutgoingActivity(
|
||||
recipient=rcp,
|
||||
outbox_object_id=outbox_object.id,
|
||||
|
|
Loading…
Reference in a new issue