diff --git a/repeater/companion/frame_server.py b/repeater/companion/frame_server.py index 63d0edb..388daa9 100644 --- a/repeater/companion/frame_server.py +++ b/repeater/companion/frame_server.py @@ -61,13 +61,18 @@ class CompanionFrameServer(_BaseFrameServer): async def _persist_companion_message(self, msg_dict: dict) -> None: """Persist message to SQLite and pop from bridge queue. - The bridge's ``offline_queue_size`` (``message_queue._max_size``) doubles + The bridge's ``offline_queue_size`` (``message_queue.max_size``) doubles as the SQLite retention limit: 0 disables offline storage entirely, so the message is dropped instead of persisted. """ if not self.sqlite_handler: return - retention = getattr(self.bridge.message_queue, "_max_size", None) + # Older cores predate the public max_size property. + retention = getattr( + self.bridge.message_queue, + "max_size", + getattr(self.bridge.message_queue, "_max_size", None), + ) if retention == 0: self.bridge.message_queue.pop_last() return diff --git a/tests/test_companion_settings.py b/tests/test_companion_settings.py index 0e4609a..ea423d7 100644 --- a/tests/test_companion_settings.py +++ b/tests/test_companion_settings.py @@ -251,7 +251,7 @@ class TestPersistSkipWhenOff: fs.sqlite_handler = MagicMock() fs.companion_hash = "0x01" bridge = MagicMock() - bridge.message_queue._max_size = max_size + bridge.message_queue.max_size = max_size fs.bridge = bridge return fs