diff --git a/mautrix_amp/portal.py b/mautrix_amp/portal.py index 68854f3dd5f45ec76eb0be56988531408967715b..b08f87ba4a14193ca96c30d500c44ec2bc1f844f 100644 --- a/mautrix_amp/portal.py +++ b/mautrix_amp/portal.py @@ -239,8 +239,9 @@ class Portal(DBPortal, BasePortal): self.avatar_hash = avatar_hash try: self.avatar_mxc = await self.az.intent.upload_media(data=avatar) - await self.main_intent.set_room_avatar(self.mxid, self.avatar_mxc) - self.avatar_set = True + if self.mxid: + await self.main_intent.set_room_avatar(self.mxid, self.avatar_mxc) + self.avatar_set = True except Exception: self.log.exception("Failed to set room avatar") self.avatar_set = False @@ -393,6 +394,12 @@ class Portal(DBPortal, BasePortal): "redact": 0 } }) + if self.avatar_mxc: + initial_state.append({ + "type": str(EventType.ROOM_AVATAR), + "content": {"url": self.avatar_mxc}, + }) + self.avatar_set = True self.mxid = await self.az.intent.create_room(name=self.name, is_direct=self.is_direct,