async def METHOD_NAME(self, timeout: float = 60.0) -> bool:
    """Wait for the client connection before the timer callback can be allowed to manipulate the state.
    See https://github.com/zauberzeug/nicegui/issues/206 for details.
    Returns True if the client is connected, False if the client is not connected and the timer should be cancelled.
    """
    assert self.slot is not None
    if self.slot.parent.client.shared:
        return True
    # ignore served pages which do not reconnect to backend (e.g. monitoring requests, scrapers etc.)
    try:
        await self.slot.parent.client.connected(timeout=timeout)
        return True
    except TimeoutError:
        globals.log.error(f'Timer cancelled because client is not connected after {timeout} seconds')
        return False