Gabe Koleszar
2d96c37eb7
Fix decryption on Ventura 13.6 for bare-metal M1 instances ( #214 )
...
* Update to fallback to regex key parsing
* [pre-commit.ci lite] apply automatic fixes
* Add exceptions
* [pre-commit.ci lite] apply automatic fixes
* Add ignore
* [pre-commit.ci lite] apply automatic fixes
* Move ignore
* Update spacing
* Update plist.py
* Break out login into helper function in parser
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-01-13 16:57:17 +01:00
Mike A.
c9897eaaba
refactor: reduce nesting
2026-01-06 00:36:35 +01:00
Mike A.
2afba5ed51
fix: more efficient key caching system
2026-01-06 00:23:15 +01: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.
4e4527d6b1
Make print_scanning_results private
2025-11-27 17:38:23 +01:00
Mike A.
90986ef732
Allow printing to any SupportsWrite for ofdevice
2025-11-27 17:33:57 +01:00
Andrew Gaylord
3dc5fb579f
Allow user to specify printing to file
2025-11-26 18:22:28 -05:00
Andrew Gaylord
688369b8b4
Extract rssi/device type, fix crash, and move device printing
2025-11-21 11:52:53 -05:00
Mike A.
788f951b12
fix: save cached keys to correct index
2025-11-20 20:06:12 +01:00
Mike Almeloo
2dd185b1e8
Merge pull request #207 from malmeloo/fix/accessory-equivalences
...
fix: define `__hash__` and `__eq__` for `FindMyAccessory`
2025-11-17 22:00:32 +01:00
Mike A.
7c5c7d6e12
fix: do not throw error on empty server response
2025-11-17 21:52:58 +01:00
Mike A.
c1e7673eaf
fix: define __hash__ and __eq__ for FindMyAccessory
2025-11-17 21:32:52 +01:00
Mike A.
59a55e070b
fix: resolve typing errors
2025-11-08 14:58:09 +01:00
Mike A.
997cf8233c
feat: cache more intermediate accessory keys
...
should improve performance for accessories that were paired a long time ago
2025-10-21 00:16:26 +02:00
Mike A.
9d1022c697
feat: support in-memory files for {from,to}_{json,plist}
2025-10-20 23:34:27 +02:00
Mike A.
6fc280e423
feat: prevent more event loop blocking
2025-10-16 22:09:43 +02:00
Mike A.
7c63463099
feat: prevent blocking event loop when getting local ani headers
2025-10-16 01:19:42 +02:00
Mike A.
755e2957e1
feat: do not block event loop on local Anisette init
2025-10-16 00:48:46 +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.
653ce04f8d
fix: prevent log spam when fetching accessories
2025-09-29 20:54:36 +02:00
Mike A.
7a67aa1b3c
fix: make latest accessory reports fetchable again
2025-09-29 20:49:48 +02:00
Mike A.
22c72e0253
feat: return early when fetching accessory reports
2025-09-29 20:48:16 +02:00
Mike A.
3cc33f6bb0
feat: improve key alignment efficiency
2025-09-24 22:57:13 +02:00
Mike A.
fdfb32bd1c
fix: adjust LocationReport repr
2025-09-19 14:53:36 +02:00
Mike A.
8692eccbef
fix: linter warnings
2025-09-16 21:59:46 +02:00
Mike A.
25440fc479
fix: import error on Python 3.9
2025-09-11 16:50:17 +02:00
Mike A.
716f3bcdc5
fix: circular import error
2025-09-11 16:48:37 +02:00
Mike A.
325c831a5c
feat: export more classes
2025-09-11 16:33:16 +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 Almeloo
21bcb89bbd
Merge branch 'main' into fix/accessory-key-drift
2025-09-08 00:51:18 +02:00
Mike A.
066fd0a714
fix: resolve typing issues in scanner
2025-09-06 21:56:19 +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
pablobuenaposada
aab830cda4
Resolve versioned tests and update the required dependencies for python <3.11
...
- The github action that runs pytest in every python version was actually running pyhton 3.13 for all the cases, so it was useless
- The docs uses myst-parser==4.0.1 which is only supported in python >=3.10 and sphinx==8.2.3 which is only supported in python >=3.11, so both dependencies had been attached to needed python version so uv sync doesn't complain anymore
- No need of tool.uv.dependency-groups.docs anymore
- Rest of the changes are related to some imports not available in python 3.9 and 3.10
2025-08-17 11:53:13 +02:00
Mike A.
e992df7f88
feat: dump alignment info when importing accessories
2025-08-08 21:59:31 +02:00
Mike A.
32686a898d
fix: include alignment parameters in accessory json
2025-08-07 21:21:21 +02:00
Mike A.
f771ad97d5
refactor: abstraction for plist reading
2025-08-07 21:06:48 +02:00
Mike A.
1d3affb3c2
Merge branch 'main' into pajowu/aligment
2025-08-07 20:46:31 +02:00
Mike A.
e2978b66a0
docs: hide typevar definitions
2025-08-05 15:08:56 +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.
2e6f70d199
feat: add session managers
2025-08-03 21:45:04 +02:00
Mike A.
9017efc7be
refactor: specialize Serializable subclasses for stronger type safety
2025-08-03 21:42:08 +02:00
Mike A.
543ffe64a3
feat: make FindMyAccessory serializable
2025-08-01 18:05:07 +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.
07a3fed11e
feat: make LocationReport serializable
2025-07-23 20:24:34 +02:00