Skip to content

increase account retrys to help with older airtags initial sync#218

Merged
malmeloo merged 1 commit into
malmeloo:tempfix/higher-retry-limitfrom
lanrat:increase_retrys
Jan 8, 2026
Merged

increase account retrys to help with older airtags initial sync#218
malmeloo merged 1 commit into
malmeloo:tempfix/higher-retry-limitfrom
lanrat:increase_retrys

Conversation

@lanrat

@lanrat lanrat commented Jan 8, 2026

Copy link
Copy Markdown
Contributor

Due to apple server errors, older airtags take long enough to the sync always fails with a 5 retry limit.

For airtags ~2yrs old, the highest retry needed was 16, and took over 20 minutes for the initial sync.

@malmeloo

malmeloo commented Jan 8, 2026

Copy link
Copy Markdown
Owner

I'm a bit hesitant to merge this into main, as there are circumstances where it's better to fail fast than succeed slowly. With the current backoff logic it would take several minutes to exhaust 20 retries, so I think it should either be kept relatively low or it should be configurable.

I can merge it into a separate branch to provide people with an easy fix if they run into it, though. Then when the whole accessory importing mess is fixed it can be deleted, as you would only really run into this when doing long syncs.

@malmeloo malmeloo changed the base branch from main to tempfix/higher-retry-limit January 8, 2026 22:32
@malmeloo malmeloo merged commit e48ec43 into malmeloo:tempfix/higher-retry-limit Jan 8, 2026
8 checks passed
@lanrat

lanrat commented Jan 8, 2026

Copy link
Copy Markdown
Contributor Author

What about making it configurable with the default of 5 instead of hard-coding it?

@malmeloo

malmeloo commented Jan 8, 2026

Copy link
Copy Markdown
Owner

I kind of want to avoid fossilizing this into the API, because I still have hope that the underlying issue is a temporary problem on Apple's side. If we make it configurable and people start specifying the argument then we also need to handle the case when it is deprecated again in the future. Ideally this is a problem that FindMy.py should be able to 'fix' transparently from the user.

Under normal, non-initial-syncing circumstances a max retry of 5 should be more than enough. Maybe if this issue persists it could be implemented as a generic 'retry counter', but I'd rather wait a bit longer still.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants