During sync

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.04.1 (ccd9ca1a)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.5-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 247, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x15b649670 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 270, in _send_request_with_retry_inner
    response = session.send(request, stream=stream, timeout=timeout)

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/users/deck_extensions?deck_id=e77aedfe-a636-40e2-8169-2fce2673187e (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x137b8b7c0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 118, in _on_sync_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "concurrent.futures.thread", line 58, in run

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 110, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 65, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 88, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 106, in _update_single_deck
    result = self._fetch_and_apply_deck_extension_updates(ankihub_did)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 219, in _fetch_and_apply_deck_extension_updates
    deck_extensions := self._client.get_deck_extensions_by_deck_id(ankihub_did)

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 1107, in get_deck_extensions_by_deck_id
    response = self._send_request(

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 229, in _send_request
    response = self._send_request_with_retry(

  File "/Users/yzhang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 257, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/users/deck_extensions?deck_id=e77aedfe-a636-40e2-8169-2fce2673187e (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x137b8b7c0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

How fast is your internet connection? Are you seeing this every time you sync or only sometimes?