Commit Graph

55 Commits

Author SHA1 Message Date
Ian Foster
a250376e2b increase account retrys to help with older airtags inital sync 2026-01-08 14:05:59 -08:00
Mike A.
66e790e374 fix: remove weird spacing in logs 2026-01-06 00:18:50 +01:00
Mike A.
4048438cfb fix: more robust retry mechanism on empty response 2026-01-06 00:18:07 +01:00
Mike A.
7c5c7d6e12 fix: do not throw error on empty server response 2025-11-17 21:52:58 +01:00
Mike A.
59a55e070b fix: resolve typing errors 2025-11-08 14:58:09 +01:00
Mike A.
9d1022c697 feat: support in-memory files for {from,to}_{json,plist} 2025-10-20 23:34:27 +02:00
Mike A.
c062723673 fix: workaround empty HTTP response when fetching device locations (#185) 2025-09-29 22:59:58 +02:00
Mike A.
e8d05b69bf refactor: combine utils into single import internally 2025-09-11 16:29:01 +02:00
Mike A.
2f1ca10def feat: export all classes in top-level package 2025-09-11 16:19:23 +02:00
Mike A.
48007752af fix: Make examples work 2025-09-06 21:40:08 +02:00
Mike A.
05ea2c9a74 feat: re-introduce location history 2025-09-06 21:29:00 +02:00
Mike A.
fbaf57ed09 feat!: implement key alignment algorithm for accessories
BREAKING: due to fundamental issues with Apple's API, this commit also DEPRECATES the `fetch_[last_]reports` methods on Apple account instances. It has been replaced by a method named `fetch_location`, which only returns a single location report (the latest one) and does not support setting a date range.
2025-09-05 00:36:37 +02:00
Mike A.
def535f819 docs: somewhat fix references in source code 2025-08-04 16:16:30 +02:00
Mike Almeloo
55c111073d Merge pull request #148 from malmeloo/feat/better-serialization
Make more objects `Serializable`
2025-08-03 21:46:05 +02:00
Mike A.
9017efc7be refactor: specialize Serializable subclasses for stronger type safety 2025-08-03 21:42:08 +02:00
Paul Bargewell
e15356c4a7 [fix] QA issues (BLE001) 2025-07-25 14:03:54 +01:00
Paul Bargewell
eba90b56a4 Fix unclosed aiohttp client session warnings
- Add proper session state management to HttpSession, RemoteAnisetteProvider, and AsyncAppleAccount
- Implement idempotent close() methods with _closed flags
- Improve cleanup order and error handling
- Prevent new session creation after close() is called

Fixes resource leaks and eliminates aiohttp unclosed session warnings.
2025-07-25 13:52:08 +01:00
Mike A.
21ef4fe292 Merge remote-tracking branch 'refs/remotes/origin/main' into feat/better-serialization 2025-07-23 19:48:38 +02:00
Mike A.
c8a3605dd3 fix: add guard against incorrect account data deserialization 2025-07-23 19:45:24 +02:00
Mike Almeloo
715b01c165 Merge pull request #144 from malmeloo/feat/migrate-api
feat!(reports): Migrate to new acsn API
2025-07-18 15:02:45 +02:00
Mike A.
bbdd784e6a feat(reports): allow passing Anisette libs path when loading account from JSON 2025-07-14 22:21:21 +02:00
Mike A.
0118666f53 feat(reports): make BaseAppleAccount and subclasses Serializable 2025-07-14 22:10:47 +02:00
Mike A.
a2c3b3136e feat(reports): implement local Anisette provider 2025-07-11 15:04:32 +02:00
Mike A.
e74197372f fix(reports): split key queries into devices
Apple only returns up to 20 location reports per device.
2025-07-10 16:25:30 +02:00
Mike A.
5e64915621 feat!(reports): Migrate to new acsn API
Apple no longer returns the `published_at` and `description` fields on location reports, so these have been deprecated.
2025-07-08 13:19:14 +02:00
ivanik
a2d705cfe5 Update fetch_reports to accept lists with HasHashedPublicKey and RollingKeyPairSource at the same time 2025-06-11 22:17:26 +05:00
Mike Almeloo
4b1dfcc197 Merge pull request #131 from NickCrews/account-json
feat: adjust the ser/deser logic of AppleAccount
2025-05-27 15:32:20 +02:00
Nick Crews
6de83e81ac chore: use loggers, not top-level logging
Aslo fix up a few other ruff lint errors.
2025-05-25 18:14:56 -06:00
Nick Crews
5142350241 feat: adjust the ser/deser logic of AppleAccount 2025-05-25 17:51:24 -06:00
Mike A.
10aee19e93 feat: Support fetching of multiple accessories at once 2025-01-23 16:27:28 +01:00
Mike A.
1c185195b0 chore: Reformat files 2024-09-03 17:46:12 +02:00
Mike A.
11cb2acf30 fix: Pass pre-commit check 2024-09-03 17:20:00 +02:00
Mike A.
99f2ee6f82 fix: Import ParamSpec from typing_extensions
Fixes python 3.9 errors
2024-09-02 23:36:47 +02:00
Mike A.
fa83b5760b fix: Import Concatenate from typing_extensions
Fixes python 3.9 errors
2024-09-02 23:35:13 +02:00
Steffen Siebert
261979b196 Password encryption now also supports s2k_fo protocol 2024-08-24 13:15:38 +02:00
Mike A.
03f00ee4a0 reports: Support fetching non-decryptable reports 2024-07-21 21:16:21 +02:00
Mike A.
af2ba3383c reports: Improve error handling 2024-07-11 21:09:16 +02:00
Mike A.
740bbf059c reports: attempt to reauthenticate on 401 2024-07-11 21:02:34 +02:00
Mike A
83f7077c12 reports: Allow passing FindMyAccessory directly into BaseAppleAccount.fetch_reports 2024-04-24 15:42:51 +02:00
Mike A
b97b094cca chore(ani): Refactoring to improve readability 2024-03-05 23:55:40 +01:00
Mike A
ccfbd093c7 Revert "Fix SMS 2FA not working"
This reverts commit 73469e93
2024-02-23 15:11:24 +01:00
Mike A
ae68ac2d70 fix(2fa): Fix 403 for trusted device 2024-02-23 14:53:03 +01:00
Mike A
d4d7198ab6 Add correct headers to trusted device request 2024-02-20 14:28:05 +01:00
Mike A
8dfe59522b Add trusted device 2FA support 2024-02-17 20:50:14 +01:00
Mike A
73469e9371 Fix SMS 2FA not working 2024-02-17 17:42:23 +01:00
Mike A
4e96ddc5e1 Make errors.py top-level 2024-02-10 22:15:41 +01:00
Mike A
efcb87233f Fix typo 2024-02-10 22:05:14 +01:00
Mike A
c9c03199d0 Fix typing issues from merge 2024-02-10 22:04:37 +01:00
Mike Almeloo
804333e357 Merge branch 'main' into chore/stricter-typing 2024-02-10 21:54:18 +01:00
Mike A
223d421258 Introduce Closable ABC 2024-02-10 21:49:14 +01:00