From 6e5006b4297ed8df8367db307ce600c836aff067 Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Sat, 4 Apr 2026 16:08:46 +0000 Subject: [PATCH] debug: add detailed logging to add_admin for troubleshooting --- core/services.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/core/services.py b/core/services.py index 3bd7aa7..f233aa1 100644 --- a/core/services.py +++ b/core/services.py @@ -36,22 +36,51 @@ class BountyService: self, room_id: int, admin_user_id: int, requesting_user_id: int ) -> None: """Add an admin to a room. Requires admin permission, or self-promotion if first admin.""" + import logging + + logging.info( + f"add_admin: room_id={room_id}, admin_user_id={admin_user_id}, requesting_user_id={requesting_user_id}" + ) + room_data = self._storage.load(room_id) + logging.info( + f"add_admin: loaded room_data.admin_user_ids={room_data.admin_user_ids if room_data else None}" + ) + has_no_admins = room_data is None or not room_data.admin_user_ids is_self_promotion = requesting_user_id == admin_user_id + logging.info( + f"add_admin: has_no_admins={has_no_admins}, is_self_promotion={is_self_promotion}" + ) if not self.is_admin(room_id, requesting_user_id): if not (has_no_admins and is_self_promotion): + logging.error("add_admin: PermissionError raised") raise PermissionError("Only admins can add admins.") + logging.info("add_admin: Self-promotion allowed") if room_data is None: room_data = RoomData( room_id=room_id, bounties=[], next_id=1, admin_user_ids=[] ) + logging.info("add_admin: Created new RoomData") + + logging.info( + f"add_admin: Before append, room_data.admin_user_ids={room_data.admin_user_ids}" + ) if admin_user_id not in (room_data.admin_user_ids or []): - (room_data.admin_user_ids or []).append(admin_user_id) + logging.info(f"add_admin: Appending {admin_user_id}") + room_data.admin_user_ids.append(admin_user_id) + logging.info( + f"add_admin: After append, room_data.admin_user_ids={room_data.admin_user_ids}" + ) self._storage.save(room_data) + logging.info("add_admin: Saved") + else: + logging.info( + f"add_admin: {admin_user_id} already in admin_user_ids, not appending" + ) def remove_admin( self, room_id: int, admin_user_id: int, requesting_user_id: int