Protocol.bot_follow: send in separate task instead of inline

fixes #1041
pull/1081/head
Ryan Barrett 2024-05-21 22:53:39 -07:00
rodzic 7f72a62081
commit 1778a1145e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
1 zmienionych plików z 8 dodań i 3 usunięć

Wyświetl plik

@ -1059,16 +1059,21 @@ class Protocol:
now = util.now().isoformat()
logger.info(f'Following {user.key.id()} back from bot user {bot.key.id()}')
target = user.target_for(user.obj)
follow_back_id = f'https://{bot.key.id()}/#follow-back-{user.key.id()}-{now}'
follow_back = Object(id=follow_back_id, source_protocol='web', our_as1={
follow_back = Object(id=follow_back_id, source_protocol='web',
undelivered=[Target(protocol=user.LABEL, uri=target)],
our_as1={
'objectType': 'activity',
'verb': 'follow',
'id': follow_back_id,
'actor': bot.key.id(),
'object': user.key.id(),
})
}).put()
user.send(follow_back, user.target_for(user.obj), from_user=bot)
common.create_task(queue='send', obj=follow_back.urlsafe(),
url=target, protocol=user.LABEL,
user=bot.key.urlsafe())
@classmethod
def handle_bare_object(cls, obj):