InfiniTimeOrg / InfiniTimeOrg/InfiniTime
Watch bond removed/overwritten
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 3.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
When pairing a watch with an encrypted connection (you can use an ANCS build to create one), the watch often deletes/overwrites the bond it has with my iPhone.
Let's say I pair my watch (without a previous bond) with all the persisted data removed from InfiniLink. When I connect, iOS will ask for the passkey to be inputted. I enter the passkey, and a bond is created. The next time the watch disconnects/reconnects, I get an error saying "There was an error connecting to the peripheral because the bond has been removed." To fix this, I have to delete the bond iOS saved, and pair again using the code.
This behavior is pretty unpredictable--sometimes it happens, sometimes it doesn't. And it's not an issue with InfiniLink; all the pairing stuff is handled by iOS.
I'm not sure if it has something to do with the ANCS implementation, but I don't recall it happening when just encrypting the battery characteristic, although I could be wrong.
Can anyone using iOS reproduce this?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with an ANCS build and a freshly cleared InfiniLink state. Compare encrypted ANCS pairing with encryption of the battery characteristic, focusing on the disconnect/reconnect flow and when the bond is stored or replaced. Done means the watch reconnects without requiring the iOS bond to be deleted and pairing to be repeated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios
- Domain
- embedded-iot, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100