Repository navigation
feat: gated mobile links, compliance hooks and transaction exports - #587
Merged
Darkvader-ship-it merged 2 commits intoOct 20, 2026
Merged
Darkvader-ship-it merged 2 commits into
Darkvader-ship-it merged 2 commits into
Conversation
|
@TheDEV111 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
TheDEV111
marked this pull request as ready for review
October 20, 2026 08:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This draft adds four default-off integration paths: mobile Chamber/Forge controls, validated inbound links, pre-credit compliance hooks, and durable transaction evidence with signed CSV downloads. It also repairs existing page blockers needed to exercise the requested screens locally.
Not ready to merge: the local implementation and automated checks are reviewable, but the issues' live testnet/native-device/vendor acceptance requirements remain open. No testnet receipt hashes, vendor sanctions integration, universal-link OS verification, production tax filing support, or all-green upstream baseline are claimed.
Closes #483
Closes #484
Closes #493
Closes #494
Mobile layout — #483 / spike 620
phase-174: visualViewport/100dvh sizing, safe-area clearance, readable phone text, 44px touch targets, scroll containment and reduced-motion behavior.Inbound links — #484 / spike 621
phase-175: a shared strict schema for customphase://, namespacedstellar://phase/and same-origin HTTPS collection/offer/quest links.KYC/sanctions hooks — #493 / spike 630
phase-176andPHASE_KYC_MODE=off|mock|live. Mock mode is testnet-only; live mode uses a configured provider-owned HTTPS sanctions adapter with bounded bodies, a three-second timeout, no redirects/cache, explicit freshness and fail-closed behavior.Transaction export — #494 / spike 631
phase-177: append-only SQLite evidence for confirmed faucet/bootstrap quantities and unverified marketplace agreements. Offer decision, listing state and reporting evidence commit or roll back together; rolled-back records do not increment success metrics.Migration and rollback
All four flags default off. Public browser flags require a rebuild. Rollback unsets both public/server variables and restarts/rebuilds; new evidence/credential tables remain inert and new APIs return 404 where applicable.
SQLite adds credential/webhook/evidence/export nonce/rate tables, indexes and nullable listing contract provenance. Initialization is idempotent and serialized with BEGIN IMMEDIATE, with the busy timeout established before WAL setup. No WASM, deployed contract, token issuer, signing boundary or signal/CRDT storage migration changes.
The existing per-instance Vercel temporary-storage limitation remains: this branch does not present SQLite/JSON sidecars on separate instances as a shared database.
Validation
11cb3bc9: 514 passed / the same 54 failed (568 tests). No additional failing test cases.git diff --checkpasses.eslint: not found).app/api/notifications/winback/route.tsimporting nonexistentaddNotification. A successful build is not claimed.Review material and remaining acceptance
Full file-by-file scope decisions, acceptance gaps, test commands and screenshots
API contracts
Before converting this PR from draft: