feat: add production-grade React SDK extensions for Pi Network apps #1
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.
🚀 Overview
This PR significantly extends
pi-sdk-reactwith a production-grade, lifecycle-aware React SDK architecture designed for real-world Pi Network applications.The goal is not to modify Pi Network protocol behavior, but to provide a robust application-layer SDK that improves developer ergonomics, safety, and scalability while remaining fully aligned with the official Pi Browser SDK (
window.Pi).✨ What’s Included
🧩 Core Architecture
PiSdkError,PiSdkErrorCode)🔐 Authentication & Connection
usePiConnection()– shared readiness & connection stateusePiAuth()– explicit authentication lifecycle (auth ≠ payment)💸 Payment Lifecycle (Major Upgrade)
usePiPayment()with full lifecycle state:idle → pending → success / failed / cancelled🌐 Backend Handshake Readiness
usePiServerHandshake()hook to support proper server-side approval & completion flows (without violating Pi architecture)🧠 Global Context (Optional)
PiProviderfor shared Pi readiness & user state🧪 Developer Experience
PiPayButtonPiAuthGuard🏗️ Design Principles
🔍 Scope & Compatibility
pi-sdk-reactusage📌 Notes
This PR is intended to help Pi app developers build real, production-ready applications with clearer patterns and safer defaults, while keeping Pi Network’s architectural boundaries intact.
Feedback and review are very welcome.