Repository navigation
chore: remove unused pubky exports - #206
talosmachina wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Verdict: ✅ Approve
Full review: diff, all 12 changed files.
Findings: None.
QA for 465718a:
Retained Pubky auth and swap delegation tests ✅ The targeted Rust suite passed.
Checked with cargo test --locked --lib modules::pubky: 53 passed, no failures. The pre-existing live provider integration test remains ignored by default; it was not run for this PR.
Check: current Android and iOS Pubky callers ✅ Source searches found no callers of the functions removed by this PR.
Checked Android master at 6bb0ff5 and iOS master at 1b56274. Matching profile and key functions belong to Paykit or app wrappers. Both apps still call the retained auth functions.
This was source inspection; neither app was built with this change. Open and release branches were not checked.
Check: generated mobile bindings ✅ Android and iOS binding CI passed at the reviewed head.
Reports relied on:
- Android Bindgen.
- iOS Bindgen, including the committed-interface freshness check and Swift smoke test.
No device run: no device journey is specified, and the retained user-visible behaviour is unchanged. Device QA did not exercise the export removals or dependency pruning. The broader Blocktank staging tests reported in the description were not rerun.
Reviewed by gpt-6.1-sol-high
|
Superseded by #217, which keeps these removals together with the rest of the |
Outcome
bitkit-core stops exporting the
pubkymodule functions that neither Bitkit app calls.What changed
resolvePubkyUrl,fetchPubkyFile,fetchPubkyFileString,startPubkyAuth,cancelPubkyAuth,completePubkyAuth,fetchPubkyProfile,fetchPubkyContacts,derivePubkySecretKey,pubkyPublicKeyFromSecret,pubkySignUp,pubkySignIn,pubkySessionPut,pubkySessionDelete,pubkySessionList,pubkyPutWithSecretKey, and thePubkyProfile/PubkyProfileLinkrecords, with their module code (session.rsdeleted) and tests.approvePubkyAuth,parsePubkyAuthUrl,PubkyAuthDetails,PubkyAuthKindandPubkyError(PubkyExceptionon Android), which the Pubky Ring sign-in path in both apps still calls, and the crate-internalfetch_public_file_if_any, whichpubky_swaps/delegation.rsimports.pubky-app-specsdependency (Cargo.lock loses it and the oldpubky 0.5.4it pulled in). Regeneratedbindings/ios/bitkitcore.swiftandbitkitcoreFFI.h.How the usage was checked
Searched current
masterof bitkit-android (ac1796a) and bitkit-ios (fe0cc2de) for every pubky export by name. The only bitkit-core imports areapprovePubkyAuth,parsePubkyAuthUrl(Android aliases itparseLegacyPubkyAuthUrl) andPubkyException(Android test). The hits onfetchPubkyProfile,pubkyPublicKeyFromSecret,derivePubkySecretKeyandPubkyProfileare the apps' own wrappers and models or Paykit's functions of the same name. Open and release branches were not checked.Evidence
cargo test --lib modules::pubky: 53 passed, 0 failed (the 9 kept parse/approve tests pluspubky_swaps, including the delegation tests that usefetch_public_file_if_any).cargo test --all-targets: 765 passed, 8 failed, all inmodules::blocktank::tests(test_regtest_*,test_refresh_*,test_create_and_store_order,test_cjit_entry_integration,test_get_min_zero_conf_tx_fee). Those call the live Blocktank staging API; this PR does not touch blocktank. I did not rerun them on the base commit.bitkitcore.swift,bitkitcoreFFI.hand modulemap byte for byte, so the regenerated files here come from the same generator. The diff only removes code.ios-bindgen's stale-bindings check is the CI proof.cargo clippy --all-targets: no new warnings in the pubky module.Risk
Public binding surface (a breaking removal for any consumer of the removed functions) and a dependency manifest change. No key derivation, signing or auth logic changed in what remains.
Follow-up
approvePubkyAuthandparsePubkyAuthUrlgo once both apps move Ring approval to Paykit, in separate app PRs.Requested by @ovitrif via the talos CLI. Owner: @ovitrif.