# HG changeset patch # User Chaiwat Suttipongsakul # Date 1588086148 -25200 # Tue Apr 28 22:02:28 2020 +0700 # Node ID 6aa0f5169940a551d4e31bf2deeb61a3ea974116 # Parent 2388011397f366b7c7e86ab9022c8dfd2b6b7a18 Tweak recipients handling diff --git a/little_boxes/activitypub.py b/little_boxes/activitypub.py --- a/little_boxes/activitypub.py +++ b/little_boxes/activitypub.py @@ -725,7 +725,11 @@ if obj.ACTIVITY_TYPE == ActivityType.FOLLOW: return [obj.get_object().id] else: - return [obj.get_object().get_actor().id] + recipients = [obj.get_object().get_actor().id] + for field in ["to", "cc"]: + if field in self._data: + recipients.extend(_to_list(self._data[field])) + return list(set(recipients)) class Like(BaseActivity): @@ -735,7 +739,11 @@ ACTOR_REQUIRED = True def _recipients(self) -> List[str]: - return [self.get_object().get_actor().id] + recipients = [self.get_object().get_actor().id] + for field in ["to", "cc"]: + if field in self._data: + recipients.extend(_to_list(self._data[field])) + return list(set(recipients)) def build_undo(self) -> BaseActivity: return Undo( @@ -787,8 +795,12 @@ return obj def _recipients(self) -> List[str]: - obj = self._get_actual_object() - return obj._recipients() + recipients = [] + for field in ["to", "cc"]: + if field in self._data: + recipients.extend(_to_list(self._data[field])) + + return list(set(recipients)) class Update(BaseActivity):