You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"Import with Pubky Ring" fails after the user taps Authorize in Pubky Ring. Bitkit hands the Paykit grant request to Ring as a legacy sign-in, so Ring answers with a legacy auth token and Bitkit's grant flow rejects it. The profile and contacts are never imported.
PubkyRingAuthURLBuilder.ringHandoffURL (Bitkit/Managers/PubkyProfileManager.swift) sets the host of every handoff link to signin. That rewrites signin_grant requests, dropping their grant intent, while Pubky Ring 1.19 already handles pubkyring://signin_grant.
Expected behavior
The handoff keeps the grant intent (pubkyring://signin_grant, including its cid/cpk parameters). Ring then approves a grant, Bitkit accepts it, and "Found profile & contacts" appears.
Steps to Reproduce
Install Pubky Ring 1.19 or later, holding a key with a Pubky App profile and at least one follow.
In Bitkit, open Profile and choose "Import with Pubky Ring".
In Ring, tap Authorize.
Back in Bitkit: the import fails instead of showing "Found profile & contacts".
Logs / Screenshots / Recordings
Found by reading the handoff code and confirmed with an offline check of the handoff URL against Ring's handler. It has not yet been reproduced end to end on a device.
A fix that keeps signin_grant on the handoff, with a unit test for it, passes the unit tests on a demo branch and can be opened as a PR.
What happened?
"Import with Pubky Ring" fails after the user taps Authorize in Pubky Ring. Bitkit hands the Paykit grant request to Ring as a legacy sign-in, so Ring answers with a legacy auth token and Bitkit's grant flow rejects it. The profile and contacts are never imported.
PubkyRingAuthURLBuilder.ringHandoffURL(Bitkit/Managers/PubkyProfileManager.swift) sets the host of every handoff link tosignin. That rewritessignin_grantrequests, dropping their grant intent, while Pubky Ring 1.19 already handlespubkyring://signin_grant.Expected behavior
The handoff keeps the grant intent (
pubkyring://signin_grant, including itscid/cpkparameters). Ring then approves a grant, Bitkit accepts it, and "Found profile & contacts" appears.Steps to Reproduce
Logs / Screenshots / Recordings
signin_granton the handoff, with a unit test for it, passes the unit tests on a demo branch and can be opened as a PR.Bitkit Version
master at
69a85dfDevice / OS
iOS Simulator, iOS 26.5, with a Pubky Ring 1.19 Release build
Reproducibility
Always, whenever the auth request is a
signin_grant.