Ten related PRs against staging, split into independent changes. Each was gated before merge: tsc, lint, secret + fake-money scan, tier0 config/services. The merged result is tsc-clean, expo export clean, and gradlew :app:assembleDebug produces a debug APK. Not yet verified: on-device / post-auth behavior.
| PR |
Area |
What changed |
Priority |
| #103 |
wallet |
exists() reads the wallet marker strictly, so a transient Keystore failure can't overwrite a funded wallet. |
High — funds |
| #109 |
onboarding |
New story flow with a WebP hero (replaces the freezing video decoder), no cold-start permission prompts, first-run card instead of an empty-contacts dead end. |
High — large surface |
| #105 |
nodes / peers |
Off-grid screens show stale peers honestly and under-claim reachability instead of implying live reach. |
Medium |
| #106 |
send |
Human-readable failure copy with honest sent / not-sent semantics. |
Medium |
| #111 |
ui |
Beacon stake reads as a roadmap pill, fake file-save button removed, honest SPL disabled copy, fee-estimate retry, resend/discard, spacing tokens. |
Medium |
| #104 |
messages |
Honest send status on every outbound bubble; long-press to copy. |
Low |
| #108 |
peers |
Deterministic identicons across peer rows, sheets, headers, and the mesh map. |
Low |
| #107 |
nav |
Back closes the open thread; tutorial deep link survives hydration; group LEAVE strip hidden. |
Low |
| #102 |
build |
Fixes a staging tsc error, declares two previously-transitive native deps, hardens tier0 scans. |
Skim |
| #110 |
dev |
Dev-menu screen that simulates execute_cosigned_transfer on devnet. __DEV__-only, simulation-only, no keys — cannot run in production. |
Skip — dev-only |
Notes
staging matches the combined branch except one intentional change: the unused expo-video plugin was dropped.
- Known follow-ups: remove the now-unused
expo-video dependency; legacy SPL send stays disabled pending an on-device error capture.
Ten related PRs against
staging, split into independent changes. Each was gated before merge: tsc, lint, secret + fake-money scan, tier0 config/services. The merged result is tsc-clean,expo exportclean, andgradlew :app:assembleDebugproduces a debug APK. Not yet verified: on-device / post-auth behavior.exists()reads the wallet marker strictly, so a transient Keystore failure can't overwrite a funded wallet.execute_cosigned_transferon devnet.__DEV__-only, simulation-only, no keys — cannot run in production.Notes
stagingmatches the combined branch except one intentional change: the unusedexpo-videoplugin was dropped.expo-videodependency; legacy SPL send stays disabled pending an on-device error capture.