@@ -237,9 +237,7 @@ def on_disconnect(self, handler: Union[Callable[..., Any], Awaitable]) -> None:
237
237
238
238
def handle_handshake (self , next_message_id : Optional [int ]) -> None :
239
239
"""Cancel pending disconnect task and invoke connect handlers."""
240
- if self ._delete_task :
241
- self ._delete_task .cancel ()
242
- self ._delete_task = None
240
+ self ._cancel_delete_task ()
243
241
self ._num_connections += 1
244
242
if next_message_id is not None :
245
243
self .outbox .try_rewind (next_message_id )
@@ -251,6 +249,7 @@ def handle_handshake(self, next_message_id: Optional[int]) -> None:
251
249
252
250
def handle_disconnect (self ) -> None :
253
251
"""Wait for the browser to reconnect; invoke disconnect handlers if it doesn't."""
252
+ self ._cancel_delete_task ()
254
253
self ._num_connections -= 1
255
254
for t in self .disconnect_handlers :
256
255
self .safe_invoke (t )
@@ -263,6 +262,11 @@ async def delete_content() -> None:
263
262
self .delete ()
264
263
self ._delete_task = background_tasks .create (delete_content ())
265
264
265
+ def _cancel_delete_task (self ) -> None :
266
+ if self ._delete_task :
267
+ self ._delete_task .cancel ()
268
+ self ._delete_task = None
269
+
266
270
def handle_event (self , msg : Dict ) -> None :
267
271
"""Forward an event to the corresponding element."""
268
272
with self :
0 commit comments