Repository navigation
Prepare private React Native authentication boundary - #62
Conversation
Opened by a BotInc run. Delivery follows the workflow's review and merge policy.
Opened by a BotInc run. Delivery follows the workflow's review and merge policy.
💡 Code reviewReviewed commit: No blocking findings in commit Verdict: APPROVE No blocking source findings. One clean source-review round is closed without source edits or unchanged-head rereview. Clean-context retrospective independent source audit completed 2026-10-12T10:44:26.661491+00:00 on exact e80e41b. |
Prepares
@didit-protocol/auth-react-nativeas a separate, private React Native workspace. Importing it without native code is safe;signIn,currentSession,getToken,signOutandstepUpreject withERR_DIDIT_AUTH_UNAVAILABLE. The native implementations also reject every operation, and an unexpected native resolution cannot report authentication success.The package includes independent exports, TurboModule registration, Android/iOS autolinking, build and packaging checks, and integration into the existing example's native CI builds. Android registration uses the existing verification wrapper's constructor-reflection pattern: it handles the seven-argument
ReactModuleInfoconstructor used by React Native 0.77/0.78 and the six-argument shape available in newer versions. The declared React Native range is unchanged.NOT-READY for authentication or publication. The reviewed native DiditAuth contract and distribution are still pending. Publishing remains disabled with
private: true. The matching Flutterdidit_authrequires its own package insdk-flutter; this PR contains only the React Native package.Local validation rerun at
e80e41b8e15afc54b5518e5f5d0ae6f60b04f88e, all commands exited 0:yarn typecheck yarn tsc -p packages/auth-react-native/tsconfig.json --noEmit yarn lint yarn test --runInBand yarn prepare yarn build:auth yarn workspace @didit-protocol/auth-react-native pack --dry-run git diff --checkCodegen checks cover React Native 0.77 and 0.83; packaging checks cover native sources, autolinking and separation from the verification release. CommonJS, ESM and TypeScript declarations build successfully. Existing peer-dependency and Browserslist warnings remain.
The constructor fix is published at
e80e41b8e15afc54b5518e5f5d0ae6f60b04f88e. CI for this revision passed all five jobs: lint/typecheck, tests, both library builds and packaging, Android example build, and iOS example build plus the existing bridge tests. The Android log confirms a cache miss and compilation of the authentication package's Kotlin and generated Java sources. The examples use React Native 0.83. Both review findings still require fresh review approval.mainremains at78ce13a3b3876af77cc480b962d55c75d4a67707, so no base merge was needed.Remaining acceptance and release checks:
Podfile.lockhas not been regenerated for the new pod. Regenerate it on macOS withcd example/ios && bundle exec pod install --repo-update, review the resulting lock change, and build/test the example. The podspec'sauth-react-native-v0.0.0source tag is a placeholder and must be replaced with a real release tag before publication; current workspace consumption uses a local path.