Repository navigation
Conversation
A C++ port of sacca97/os-findmy-e's adi-core (MIT, see macadi/NOTICE.md): a Mach-O loader, a Unicorn x86_64 VM with the few pieces of macOS userland the library calls, and the CoreADI dispatcher framing. Unicorn 2.1.4 (GPL-2.0) is fetched at build time, pinned by SHA-256, and linked only into libmacadi.so. The library itself is never in the repository or the build. In iTunes 12.8.3 for Mac the package holding it is stored uncompressed and contiguous, so it is one HTTP range request of 3.5 MB; scripts/locate_mac_coreadi.py re-derives the offsets and checks both pinned hashes, and macadi-host.yml builds the core for the host and loads the library into it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012JDrrt9ff7WwPepHs6B2Gx
Since 2026-10-12 Apple issues searchPartyToken only to Mac- or iPhone-minted Anisette, and the edge now refuses any client claiming Android, so the Android ADI path cannot reach Find My. EmulatedMacAnisette fetches the macOS library from Apple, provisions one emulated Mac with akd's headers, keeps its identity and store for the life of the install, and is what AppDependencies hands out. Also: read Grand Slam's hsc 409 without au as a second factor; send the routing number Apple assigned at provisioning; give CloudKit a UUID, since a Mac's device id is not one; drop the legacy adi.pb before every session, which otherwise made a freshly provisioned machine report unprovisioned (ec -80009). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012JDrrt9ff7WwPepHs6B2Gx
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012JDrrt9ff7WwPepHs6B2Gx
Not for merging. AirPods Pro 3 show in Find My but not in the app's iCloud results, with nothing set aside and no decrypt error logged. The app never configures Python logging, so the INFO lines that would say which record types the zone holds were discarded. Logs record types by count and master-beacon field names only, never values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 12:34 — with
GitHub Actions
Inactive
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 12:34 — with
GitHub Actions
Inactive
… export appends The phone drops log lines over its quota without saying so, and the import's Python output went missing from the last export entirely. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodeXTF2
had a problem deploying
to
Android Build
October 27, 2026 12:55 — with
GitHub Actions
Failure
CodeXTF2
had a problem deploying
to
Android Build
October 27, 2026 12:55 — with
GitHub Actions
Failure
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 12:58 — with
GitHub Actions
Inactive
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 12:58 — with
GitHub Actions
Inactive
Logs each reports request and answer (key counts, HTTP status, Apple's status code, how many ids came back with reports), the accessory's index window and alignment before and after, decrypt failures, and tees the app's own print output into icloud-diagnostic.log. Counts and statuses only, never keys, ids, tokens or locations. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 13:42 — with
GitHub Actions
Inactive
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 13:42 — with
GitHub Actions
Inactive
…ession's token names Decrypts the record types the import skips (OwnedDeviceKeyRecord, BeaconGroup, LeashRecord) and logs field names, types and sizes, with links between records shown by type rather than identifier. Values only for emoji, roleId, product and vendor ids and similar descriptive fields. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 13:51 — with
GitHub Actions
Inactive
CodeXTF2
temporarily deployed
to
Android Build
October 27, 2026 13:51 — with
GitHub Actions
Inactive
… calling a ring a success AirPods Pro 3 read from iCloud carry a placeholder emoji (U+1F600, roleId 999) on every part, which Apple's apps never show; the app drew a smiley. They now get a headphones icon, and an emoji set in this app still wins. Ringing over DULT disconnected 20 ms after the write and reported success, so an accessory that answered 'invalid state' (AirPods near their owner) looked as if it had rung. It now waits up to 3 s for the Command_Response, logs it, and reports a refusal as one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…om does The network never reports AirPods near their owner's own device; that device reports them to FMIP instead, which is where iCloud.com's precise, recent location and its per-bud Play Sound come from. Add an FMIP client (initClient/refreshClient/playSound, dsid + mmeFMIPAppToken, identity composed per rule 11), merge its location into the periodic refresh as one more report, and ring AirPods through it before Bluetooth. Also: a fetch queued behind the Python lock now uses the current account rather than one a recreated screen already closed, and an RxJava error with no subscriber left is logged instead of killing the process. Debug only: ask once for ownedDeviceLocations with the OwnedDeviceKeyRecord keys and log the shape of the answer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds a debug APK of parawanderer#274 plus logging of the BeaconStore record types, to find why AirPods Pro 3 are missing from the iCloud results. Not for merging.
🤖 Generated with Claude Code