Don't send connected state when sync is in progress
This commit is contained in:
@@ -94,6 +94,7 @@ class User(AbstractUser, BaseUser):
|
|||||||
self._db_instance = db_instance
|
self._db_instance = db_instance
|
||||||
self._ensure_started_lock = asyncio.Lock()
|
self._ensure_started_lock = asyncio.Lock()
|
||||||
self._track_connection_task = None
|
self._track_connection_task = None
|
||||||
|
self._is_backfilling = False
|
||||||
|
|
||||||
(self.relaybot_whitelisted,
|
(self.relaybot_whitelisted,
|
||||||
self.whitelisted,
|
self.whitelisted,
|
||||||
@@ -224,7 +225,8 @@ class User(AbstractUser, BaseUser):
|
|||||||
connected = self._is_connected
|
connected = self._is_connected
|
||||||
self._track_metric(METRIC_CONNECTED, connected)
|
self._track_metric(METRIC_CONNECTED, connected)
|
||||||
if connected:
|
if connected:
|
||||||
await self.push_bridge_state(BridgeStateEvent.CONNECTED, ttl=3600)
|
await self.push_bridge_state(BridgeStateEvent.BACKFILLING if self._is_backfilling
|
||||||
|
else BridgeStateEvent.CONNECTED, ttl=3600)
|
||||||
else:
|
else:
|
||||||
await self.push_bridge_state(BridgeStateEvent.UNKNOWN_ERROR, ttl=240,
|
await self.push_bridge_state(BridgeStateEvent.UNKNOWN_ERROR, ttl=240,
|
||||||
error="tg-not-connected")
|
error="tg-not-connected")
|
||||||
@@ -270,10 +272,13 @@ class User(AbstractUser, BaseUser):
|
|||||||
|
|
||||||
if not self.is_bot and config["bridge.startup_sync"]:
|
if not self.is_bot and config["bridge.startup_sync"]:
|
||||||
try:
|
try:
|
||||||
|
self._is_backfilling = True
|
||||||
await self.sync_dialogs()
|
await self.sync_dialogs()
|
||||||
await self.sync_contacts()
|
await self.sync_contacts()
|
||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception("Failed to run post-login sync")
|
self.log.exception("Failed to run post-login sync")
|
||||||
|
finally:
|
||||||
|
self._is_backfilling = False
|
||||||
|
|
||||||
async def update(self, update: TypeUpdate) -> bool:
|
async def update(self, update: TypeUpdate) -> bool:
|
||||||
if not self.is_bot:
|
if not self.is_bot:
|
||||||
|
|||||||
Reference in New Issue
Block a user