Commit Graph

3277 Commits

Author SHA1 Message Date
Justin Hernandez
692aaf33dc update spec workflow to use repo-canonical two-layer model (#1865)
* update skills

* fixes and formatting
2026-03-24 13:42:19 -07:00
Seshanth.S
89476718eb Extract Reusable App Adapter Factories for SelfClient Assembly (#1862) 2026-03-24 23:24:14 +05:30
Seshanth.S
3eae9dc777 docs: add WV-07 and WV-08 specs for proving machine in webview-app (#1861)
WV-07 covers SelfClient assembly: exporting useProvingStore from the
browser entry point, mapping bridge adapters to SDK interfaces, creating
a keychain-backed DocumentsAdapter via the existing secureStorage bridge,
and wiring a real SelfClient in the webview-app provider.

WV-08 covers the tunnel proving flow: replacing the mock 3-second timer
with real provingMachine integration (register → disclose), storing
Sumsub KYC results as KycData documents in native keychain, and driving
UI from proving state transitions.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 17:51:38 +05:30
Justin Hernandez
bd2e3c6738 add Euclid 3.0 settings screens, tunnel flow, and audit pipeline skills (#1858)
* feat(webview-app): add Euclid 3.0 settings sub-screens

Add SecurityScreen, NotificationPreferencesScreen, and DevModeScreen
wrappers that import Euclid 3.0 components and wire them with React
Router navigation and bridge adapters. Update SettingsScreen menu items
to navigate to real routes instead of /coming-soon.

Requires @selfxyz/euclid-web to be published with the new screen exports
(SecurityScreen, NotificationPreferencesScreen, DevModeScreen) before
type-check will pass. See docs/superpowers/plans/ for full context.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: add settings integration plan and handover

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: use euclid 1.2.0

* PoC tunnel flow

* updates

* update skills

---------

Co-authored-by: Tranquil-Flow <tranquil_flow@protonmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>
2026-03-23 23:55:31 -07:00
Justin Hernandez
4338d08095 add pr-summary Claude Code skill (#1859)
* add skill

* updates
2026-03-23 21:02:39 -07:00
Seshanth.S
17232e7698 docs: add BP-02 deferred backlog item for runtime bundle integrity (#1857)
When CDN bundle loading lands, runtime checksum verification (SHA-256
manifest, fail-closed on mismatch) becomes a security boundary. This
adds the backlog item and context so it's picked up at the right time.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 02:52:12 +05:30
Seshanth.S
60de8d6c1e Feat/webview sdk (#1856)
* feat: add iOS native shell package (NSL-02)

Plain Swift implementation of the WebView host with bridge handlers
for secure storage (Keychain), crypto (EC P-256), and lifecycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add Android native shell package (NSL-01)

Plain Kotlin implementation of the WebView host with bridge handlers
for secure storage (EncryptedSharedPreferences), crypto (Android Keystore
EC P-256), and lifecycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: integrate Sumsub Web SDK into ProviderLaunchScreen (WV-05)

Rewrites ProviderLaunchScreen to launch Sumsub Web SDK, adds KYC
provider types, result normalization, and a ProviderResultScreen
for displaying verification outcomes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: update spec status for NSL-01, NSL-02, WV-05 to in-progress

All three items are code-complete but need integration testing
before marking done.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add build-pipeline workstream specs, update NSL-03 and BP-01 status

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add WebView bundle build pipeline (BP-01)

Build script copies webview-app dist into both native shell asset
directories. Gradle preBuild validation fails fast when bundle is
missing. Root package.json gets build:sdk-* scripts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add SDK test apps for Android and iOS (NSL-03)

Minimal test apps to exercise native shells end-to-end:
- Android: Jetpack Compose app using SelfSdk.launch() via composite build
- iOS: SwiftUI app using SelfSdk.createViewController() via local SPM dep

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* update lockfile

* fix: address CodeRabbit PR review findings for native shells

- Fix iOS double callback: add hasEmittedResult flag to LifecycleHandler
  so dismiss() won't fire onCancelled after onResult already emitted
- Fix Android error result codes: use RESULT_FIRST_USER for failed
  verifications instead of always RESULT_OK; add dedicated handler in
  SelfSdk.handleResult
- Fix iOS production query params: append params to file URL via
  URLComponents so WebView receives teeUrl/verificationId/userId
- Fix build:sdk-ios false-green: chain swift build after bundle script
- Add expectedRequestCode param to handleResult for flexibility
- Upgrade security-crypto 1.1.0-alpha06 → 1.1.0 stable
- Improve callback type safety: onSuccess takes raw JSON string,
  onFailure takes SelfSdkException instead of generic Exception
- Add requireBiometric intent comments to both SecureStorageHandlers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address remaining CodeRabbit PR review findings (round 2)

- iOS BridgeResponse: add requestId/success fields, rename result→data to match JS bridge contract
- iOS test app: fix callback deallocation with Coordinator pattern
- ProviderLaunchScreen: fail closed on missing verificationId, fix retry via retryCount state
- ProviderResultScreen: guard unknown status with fallback to error config
- build-webview-bundle.sh: validate index.html before deleting targets
- Package.swift: fix SPM resource path with target path/sources

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 02:26:40 +05:30
Justin Hernandez
f1ca565b9e fix (#1851) 2026-03-12 16:24:34 -07:00
Justin Hernandez
a56edbab75 Audit and update specs rd5 (#1850)
* first commit sc-02

* prep for pr

* fix

* specs pass 1

* update specs
2026-03-12 16:22:31 -07:00
Justin Hernandez
95d893fa45 Expose generateKey() and getPublicKey() in CryptoAdapter surface (#1849)
* first commit sc-02

* prep for pr

* fix

* fix

* check result
2026-03-12 16:11:45 -07:00
Seshanth.S
cbe2d7580c set allowFontScaling to false in disclosure screens (#1843)
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-03-12 12:10:30 -07:00
Justin Hernandez
9493e84b24 revert pr 1786 lottie json conversion (#1848)
* Revert "chore: convert json to lottie files (#1786)"

This reverts commit 9406bacda8.

* remove dotlottie

* fix regressions

* pr feedback

* formatting

* fixes

* lint
2026-03-12 10:04:30 -07:00
Justin Hernandez
f47b46d465 Add browser host callback contract for WebView verification flow (#1846)
* push code for wv-02 and 03

* save wip

* fixes

* pr feedback fix pipelines

* save spec

* address feedback

* pr feedbacak

* fixes

* format

* fix pipelines

* fix

* fix

* fixes
2026-03-12 07:50:18 -07:00
Evi Nova
345eaaba27 fix: bump @selfxyz/qrcode to 1.0.22 to replace broken npm releases (#1847)
Versions 1.0.20 and 1.0.21 were published manually (not via CI), which bypassed the yarn pack step that resolves workspace:^ protocols. The published packages contain raw workspace:^ dependencies, making them uninstallable for external consumers. This version bump triggers a clean CI publish that correctly resolves @selfxyz/sdk-common to ^1.0.0.
2026-03-12 12:41:05 +10:00
Justin Hernandez
4934a8c2be Align WebView flow with provider-backed KYC (#1845)
* push code for wv-02 and 03

* pr feddback
2026-03-11 18:43:15 -07:00
Justin Hernandez
25e8ddda37 wv-01 work (#1844) 2026-03-11 14:09:16 -07:00
Justin Hernandez
929ef3832e kmp: Update specs to reflect paused work (#1842)
* sc-01 first commmit

* fix pipelines

* update specs

* update specs to reflect paused work

* fix build

* add missing

* pipeline fixes

* last round of feedback

* update specs
2026-03-11 13:09:02 -07:00
Justin Hernandez
73d2075ad4 Deduplicate bridge-layer fallback adapters onto engine-owned browser implementations (SC-01) (#1841)
* sc-01 first commmit

* fix pipelines

* fix build

* add missing

* pipeline fixes

* last round of feedback
2026-03-11 12:50:27 -07:00
Justin Hernandez
b53626c16b Fix lifecycle bridge result routing semantics (#1840)
* update specs

* update specs

* harden nfc apdu

* ns-05 work

* pr feedback

* updates

* fixes
2026-03-10 21:58:58 -07:00
Justin Hernandez
774fe295ca Complete RN-03 NFC hardening and stabilize RN SDK tests (#1797)
* udates

* add regression test

* feedback; remove assets

* fix pipeline

* pr feedback

* fixes

* fix pipeline

* finalize rn03 work

* fix ci

* better foramt
2026-03-10 21:40:50 -07:00
Justin Hernandez
2ab33c727a Reject raw APDU commands in KMP NFC bridge (#1839)
* update specs

* update specs

* harden nfc apdu
2026-03-10 20:31:34 -07:00
Justin Hernandez
6dcaa63de3 Audit KMP artifact readiness for MiniPay integration (#1838)
* update specs

* update specs

* pr feedback
2026-03-10 20:10:43 -07:00
Justin Hernandez
1041babc7b Stabilize iOS simulator startup and crash mitigation flow (#1836)
* save sepc

* save wip

* save pr 2wip

* save wip rd 3

* finalize ios crash fix

* pr feedback and format
2026-03-10 20:09:03 -07:00
Justin Hernandez
4f08bbfce7 update specs (#1837) 2026-03-10 17:41:26 -07:00
Justin Hernandez
9102835665 Align KMP callback/result contract with canonical VerificationResult (#1834)
* Align KMP verification result contract

* formatting

* pr feedback
2026-03-10 10:08:06 -07:00
Justin Hernandez
d815e9f0d3 Fix missing DSC parsing for passport/id_card (#1498)
* Handle missing parsed DSC before fetching

* address cr feedback

* formatting

* fix bugs
2026-03-10 09:34:19 -07:00
Justin Hernandez
d7c1556ddc Align KMP verification result contract with canonical SDK types (#1831)
* Align KMP verification result contract

* formatting

* pr feedback

* feedback
2026-03-10 09:02:12 -07:00
Justin Hernandez
7f75ed377c add react native blur effect (#1832) 2026-03-10 08:27:40 -07:00
Justin Hernandez
6b89976758 formatting (#1829) 2026-03-09 22:10:28 -07:00
Justin Hernandez
b8b893311b rework specs rd 3 (#1827)
* rework specs

* udpate specs

* format
2026-03-09 21:01:17 -07:00
Justin Hernandez
6578a68a20 update gitleaks for new common (#1828) 2026-03-09 20:54:25 -07:00
Justin Hernandez
52113786c0 update integration tests (#1826) 2026-03-06 18:26:22 -08:00
Justin Hernandez
88e28733b1 Phase 1 Native Consolidation: Extract MRZ OCR/Mapping Helpers and Thin Scanner Views (#1823)
* mrz consolidation

* consolidate mrz swift code

* update specs

* save changes

* fixes

* format

* update spec

* pr feedback

* add tests

* save prep work

* consolidate MRZ handling logic

* fixes

* format

* format

* remove giga

* pr feedback

* update spec

* update

* revert change

* pr feedback

* updates
2026-03-06 17:54:46 -08:00
Justin Hernandez
3ee9822752 Phase 0 Native Consolidation: Baseline Contracts, Bridge Tests (#1822)
* mrz consolidation

* consolidate mrz swift code

* update specs

* save changes

* fixes

* format

* update spec

* pr feedback

* add tests

* remove

* fix pipeline
2026-03-06 14:51:51 -08:00
Justin Hernandez
23ab5d8b17 Consolidate iOS build, config, and integration paths (#1821)
* mrz consolidation

* consolidate mrz swift code

* update specs

* save changes

* fixes

* format

* pr feedback
2026-03-06 13:38:55 -08:00
Justin Hernandez
377f67f0ee Enable composite build for RN test app to resolve KMP SDK locally (#1819)
* mrz consolidation

* Add Gradle substitution for shared module (#1820)
2026-03-06 12:13:55 -08:00
Justin Hernandez
be9f2d8f8b Consolidate RN test app Android MRZ scanner onto shared SDK handler (#1817)
* first pass at consolidation work

* fix gap

* update spec

* fix pipeline

* pr feedback
2026-03-06 10:10:55 -08:00
Justin Hernandez
cde591b998 feat(rn-sdk-test-app): native MRZ camera with progressive detection UX (#1816)
* save wip

* save working code

* finalize code

* pr feedback

* fix
2026-03-05 22:48:41 -08:00
Justin Hernandez
62a11cdca3 chore: rename kmp sdk test app folder (#1815)
* chore: rename kmp sdk test app folder

* update ignore

* fix path
2026-03-05 18:37:46 -08:00
Justin Hernandez
d4c52af7e3 kmp ci coverage (#1814)
* save kmp coverage work

* clean up

* move to archive

* fix ci

* update workflows

* fix build error

* fix

* ci fix
2026-03-05 18:35:35 -08:00
Justin Hernandez
536eb69538 Justin/update specs rd3 (#1813)
* update archive

* finslize specs
2026-03-05 16:25:49 -08:00
Justin Hernandez
a367e7eecb Update specs to be agentic (#1811)
* save chunk 1e work

* chunk 2f

* pr feedback

* fix pr feedback

* cr feedback

* remove dupe var

* feedback from cr

* add kmp:start dx helper

* save web consolidtion work for later

* add specs

* update

* pr fixes

* update reorg plan

* add coverage gaps spec

* pr feedback

* save current wip iteration

* finalize spec work
2026-03-05 16:20:46 -08:00
Justin Hernandez
44ded24886 Wire WebView camera adapter and harden Android SDK launch flow (#1805)
* save chunk 1e work

* chunk 2f

* pr feedback

* fix pr feedback

* cr feedback

* remove dupe var

* feedback from cr

* add kmp:start dx helper

* save web consolidtion work for later

* add specs

* update

* pr fixes

* update reorg plan
2026-03-05 12:14:02 -08:00
Nesopie
ab5f584210 fix(app): rewrite tsup __require to require for Metro bundling (#1810)
tsup wraps require() as __require() in ESM builds for externalized
modules. Metro's dependency collector only recognizes standard require()
calls, so __require() calls for .lottie assets are invisible during
bundling, causing "Unknown named module" errors at runtime.

This Babel plugin converts __require(stringLiteral) back to
require(stringLiteral) before Metro's dependency collection pass,
allowing the custom resolver to properly locate and bundle .lottie
assets from the SDK dist.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 06:25:42 -08:00
Justin Hernandez
2e907bc67c chore: clean up dependencies and bump react-native-svg to 15.14.0 (#1808)
* update lock

* fix package resolutions

* re-add blur

* fix patch
2026-03-03 23:16:10 -08:00
Justin Hernandez
d1962734db Add Social Login Demo (Google + Apple) with navigation and test mocks (#1806)
* chore: bump firebase to v21 and clean up Podfile

* feat: add social login demo screen

* pr feedback

* pr feedback

* fixes

* add android values to ci

* feedback
2026-03-03 18:53:11 -08:00
Nesopie
cd897752a6 Feat/new common (#1799)
* feat: common refactor (WIP)

* finish the rest of new-common and use new-common in circuits + contracts tests

* fix: prettier

* fix: yarn.lock

* fix: formatting

* fix: use prod urls for websocket

* fix: websocket url

* fix: remove the ||el flag
2026-03-03 11:17:56 +05:30
Justin Hernandez
d5001eef8d Add RN SDK test app harness and update spec validation scope (#1798)
* fill gps

* pr feedback

* add easy demo install script, sort package.json files

* get app running

* fix ios running

* rename app

* fix pipeline issues

* pr feedback

* fix pipelines

* fix

* update
2026-03-02 19:52:23 -08:00
Justin Hernandez
9d4f468236 add web work (#1801) 2026-03-02 07:58:09 -08:00
Justin Hernandez
a18a5ab097 update spec lists (#1800) 2026-03-02 06:41:34 -08:00