Commit Graph

1415 Commits

Author SHA1 Message Date
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
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
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
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
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
9406bacda8 chore: convert json to lottie files (#1786)
* convert json to lottie files

* add comment for future web dotlottie usage

* fix pipelines; agent feedback

* enable ios e2e

* update lottie

* one more try

* kotlin fix

* attempt fix

* save wip fixes

* fix patch

* final pass

* fix pipelines

* attempt fix

* fix test

* feedback

* fix types
2026-02-28 18:47:25 -08:00
Seshanth.S
450f1efaa0 add skipPace switch to android for Ukranian passports (do not merge yet) (#1631)
* add skipPace switch to android

* use specific commit of PRIVATE_MODULES

* bump version

* bump build to 139

* use latest passport-reader

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-02-27 18:21:56 +05:30
Justin Hernandez
ac844ee00e SELF-2034: fix and implement android e2e (#1792)
* Add tmate session to debug e2e workflow

* Don't run ios e2e

* Debug wip

* Debug wip

* Debug wip

* Enhance mobile E2E workflow by adding pre-installation step for emulator dependencies. This ensures the necessary Android SDK components are available for testing, improving the reliability of the build verification process.

* Add KVM group permissions setup to mobile E2E workflow

This update introduces a step to enable KVM group permissions in the mobile E2E workflow. This change ensures that the necessary permissions are configured for KVM, enhancing the environment setup for emulator testing and improving overall build verification reliability.

* Run e2e in self-hosted runners

* Fix JVM install

* Fix JVM install

* KVM check

* Refactor KVM access check in mobile E2E workflow

This update modifies the KVM access check step to provide a warning if /dev/kvm is not found, allowing the emulator to run in software mode instead of failing the workflow. Additionally, it dynamically adjusts the emulator options based on KVM availability, improving performance and flexibility in the testing environment.

* Adding tmate for debugging

* Adding retry logc to sdkmanger install

* Changing android channel to stable

* Add installation of emulator runtime dependencies in mobile E2E workflow

This update introduces a step to install necessary runtime dependencies for the Android emulator, ensuring a smoother testing environment and improving the reliability of the mobile end-to-end testing process.

* Fix APK install command

* Update Android api

* Update android emulator version

* Add E2E test script to mobile workflow

This commit introduces a new script for running end-to-end tests on the Android emulator. The script handles app installation and execution of Maestro tests, improving the organization and readability of the workflow. The previous inline commands have been replaced with a dedicated script, enhancing maintainability and clarity in the testing process.

* fix e2e test

* improve maestro  test

* try workflow again

* attempt fix

* fix

* another try

* clean up wording to reflect it's fixed

---------

Co-authored-by: Javier Cortejoso <javier.cortejoso@gmail.com>
2026-02-26 15:14:57 -08:00
Justin Hernandez
26353c0201 chore: update macos setup script (#1791)
* improve script stability

* fix cocoapods installastion

* improve detection, add swiftlift dep

* update packages; check bundler version

* fix script

* improvmeents

* fix sed issues

---------

Co-authored-by: Justin Hernandez <jmh@Justins-MacBook-Air.local>
2026-02-25 17:55:00 -08:00
Justin Hernandez
408e2fa4de kmp wrap up handoff work (#1785)
* save wip

* finalize pr

* pr feedback

* update specs. feedback

* add handoff security doc
2026-02-25 17:51:43 -08:00
Justin Hernandez
7f43ade300 Sync Android/iOS build files when applying mobile version bumps (#1617)
* Update mobile version apply

* updates

* tweaks; single source of file truth

* fix workflow

* pr feedback
2026-02-23 15:08:41 -08:00
github-actions[bot]
f2361d9662 chore: bump mobile app version to 2.9.16 (#1781)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-20 03:20:51 -08:00
Evi Nova
0f5d8cbff5 fix: show country nationality in view id card screen (#1777)
* fix: show country nationality in view id card screen

Was showing country code, now tries to fetch the country name. If can't find, resolves back to raw country code.

* port fix over

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-02-20 02:04:01 -08:00
Justin Hernandez
ac1e6fdb44 [SELF-2033] bugfix: clipped card header (#1778)
* simplify Id and Kyc Card to make it easier to fix header

* format

* fix global Buffer polyfill

* fix padding

* remove dev card screen

* minor fixes
2026-02-19 23:27:59 -08:00
Seshanth.S
330bc441eb SELF-761 add expo sdk 52 (#1766)
* add expo 52

* fix ios build

* update RN to 0.77.0

* fix 16kb alignment of libjnidispatch.so

* update coderabbit comments

* fix expo notifications

* fix ci

* update lock

* silence gitleaks

* reinstall updates

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-02-19 12:34:24 -08:00
turnoffthiscomputer
c00241d327 Feat/person1 2 3 implementation (#1770)
* add ios swift handlers

* Add lifecycle completion and optional relay listener

* agent feedback

* save wip

* fix compiling

* finalize feedback

* agent feedback

* fix ci

* udpate specs

* feat: implement React Native adapters for authentication, documents, and networking

- Added new adapters for authentication, document management, and network communication tailored for React Native.
- Introduced `createAuthAdapter`, `createDocumentsAdapter`, and `createNetworkAdapter` to streamline integration with React Native's capabilities.
- Updated `SelfClientProvider` to utilize the new adapter factory for improved modularity and maintainability.
- Enhanced package dependencies to include necessary libraries for secure storage and hashing.

This update enhances the SDK's functionality and prepares it for better cross-platform compatibility.

* refactor: update specs to streamline documentation and remove obsolete entries

- Removed the "Keep / Modify / Delete" section from the specs to simplify the document structure.
- Updated the remaining specifications to reflect the current architecture and integration paths, including the introduction of the new `SPEC-RN-SDK.md` for the `<SelfVerification />` RN WebView wrapper component.
- This change enhances clarity and aligns the documentation with recent architectural decisions.

* prettier

* update gitignore to include swift build paths

* update gems

* address pr feedback and pipeline errors

* agent feedback. also include follow up work items

* add spec guide rules

* add markdown files to prettier formatting and update

* add status line update spec guide

* add new specs

* formatting

* format all markdown files

* more formatting

* consolidate into overview

* update spec and template guidelines

* refactor specs

* save wip

* move status up

* feat: add biometrics and camera bridge adapters

Create biometrics adapter (authenticate, isAvailable, getBiometryType) and camera adapter (scanMRZ, isAvailable) matching the native KMP handler response shapes. Wire both into webview-app SelfClientProvider. Includes 6 new tests (50 total, all passing).

* feat: add web fallback adapters and wire in SelfClientProvider

- Create IndexedDB documents adapter and console/fetch
    analytics adapter in webview-bridge (documents-web.ts,
    analytics-web.ts) per Person 1 spec Section 4
  - Create equivalent browser adapters in mobile-sdk-alpha
    per Person 4 Chunk 4F (documents, crypto, analytics,
    haptic)
  - Wire web fallbacks into SelfClientProvider — documents
    and analytics no longer cross the bridge
  - 32 new tests across both packages, all passing
  - fake-indexeddb added as devDep to both packages

* feat: remove 4 Android web-fallback handlers

  - Delete DocumentsBridgeHandler (146 LOC)
  - Delete CryptoBridgeHandler (177 LOC)
  - Delete AnalyticsBridgeHandler (94 LOC)
  - Delete HapticBridgeHandler (94 LOC)
  - Remove registrations from SelfVerificationActivity
  - Android now registers 5 handlers: NFC, Camera,
    Biometrics, SecureStorage, Lifecycle
  - Documents, crypto, analytics, and haptic are now
    handled by web fallback adapters in the WebView

* style: align DocumentsBridgeHandler param extraction

  Standardize iOS DocumentsBridgeHandler to use
  ?.jsonPrimitive?.content for parameter extraction,
  matching the convention used by all other iOS handlers.

* feat: add MiniPay sample app

  Create Compose Multiplatform sample app showing how
  third-party integrators embed Self identity verification
  via SelfSdk.launch(). Two native screens (Home, Result);
  all verification logic runs in the SDK's WebView.

  Shared Kotlin (commonMain):
  - App.kt: NavHost with home/result navigation
  - MainViewModel.kt: SDK launch + callback routing
  - HomeScreen.kt: status card + "Verify Identity" button
  - ResultScreen.kt: success/failure with error mapping
  - Theme.kt: MiniPay-style Material 3 colors

  Android:
  - MainApplication.kt: SelfSdk.configure() in onCreate
  - MainActivity.kt: passes SDK instance to Compose
  - AndroidManifest.xml: NFC, Camera, Biometric, Internet
    permissions + NFC TECH_DISCOVERED intent filter
  - res/xml/nfc_tech_filter.xml: IsoDep for passport NFC

  iOS Kotlin:
  - MainViewController.kt: ComposeUIViewController entry

  iOS Swift (iosApp/):
  - iOSApp.swift: provider registration with
    SdkProviderRegistry (same pattern as kmp-test-app)
  - ContentView.swift: UIViewControllerRepresentable
  - Xcode project with NFC/Camera entitlements

  Spec deviation — single-module vs two-module:
  The spec directory diagram (lines 88-120) shows a
  separate androidApp/ module, but the spec's own build
  config (lines 384-447) has composeApp using the
  androidApplication plugin — meaning composeApp IS the
  Android app. These contradict: you cannot have two
  androidApplication modules. The existing kmp-test-app
  uses the same single composeApp pattern. We follow the
  build config + test app precedent.

  Build verified on all targets:
  - compileDebugKotlinAndroid: BUILD SUCCESSFUL
  - compileKotlinIosArm64: BUILD SUCCESSFUL
  - compileKotlinIosSimulatorArm64: BUILD SUCCESSFUL

* style: Rename webAnalyticsAdapter to consoleAnalyticsAdapter

  Align web analytics adapter naming with updated spec
  (specs/person1-webview/SPEC.md section 4c).

  - Rename webAnalyticsAdapter → consoleAnalyticsAdapter
  - Rename WebAnalyticsOptions → ConsoleAnalyticsOptions
  - Update barrel export in adapters/index.ts
  - Update import in SelfClientProvider.tsx
  - Update all references in analytics-web.test.ts

  The new name better describes the adapter's purpose: a
  console-logging (+ optional HTTP endpoint) fallback for
  environments without a native bridge.

  Verified: webview-bridge build clean, 63/63 tests pass,
  webview-app type-check clean.

* refactor: Align Person 4 adapters with updated spec

  Rename haptic + fix crypto algo normalization per updated
  specs/person4-sdk-core/SPEC.md (Chunk 4F).

  Haptic:
  - createNoOpHapticFeedback → createNoOpHapticAdapter
  - Updated barrel export, re-export, and test references

  Crypto:
  - Replace static ALGO_MAP lookup with regex normalization:
    algo.toUpperCase().replace(/^SHA(\d)/, 'SHA-$1')
  - Handles all variants: sha256, SHA256, sha-256, SHA-256
  - Add tests for already-hyphenated and uppercase inputs

  Verified: 20/20 browser adapter tests pass, tsc clean.

* fix: resolve 7 Android device testing bugs in SDK + MiniPay

Fix issues found during physical device testing (Pixel 8
Pro) of the MiniPay sample app end-to-end flow.

SDK fixes (kmp-sdk):
- Use activityResultRegistry.register() instead of
  activity.registerForActivityResult() to avoid
  IllegalStateException when registering after onStart
- Replace FragmentActivity with ComponentActivity
  (AndroidX 1.9.x changed the class hierarchy)
- Change SelfVerificationActivity theme to
  Theme.AppCompat.NoActionBar (AppCompatActivity
  requires an AppCompat theme)
- Rewrite AndroidWebViewHost to use WebViewAssetLoader
  with custom PathHandler, serving bundled Vite assets
  under https://appassets.androidplatform.net/ to fix
  CORS, history.replaceState, and asset path resolution
- Add runtime permission requests for Camera + NFC in
  SelfVerificationActivity.onCreate()

MiniPay fixes (kmp-minipay-sample):
- Create expect/actual platformLaunch to thread Android
  Activity to SDK without leaking platform types into
  commonMain
- Set debug = false to load bundled assets instead of
  emulator dev server URL

Tested on Pixel 8 Pro: app launches, verification
WebView opens, camera scans for MRZ. Full passport
scan untested (no document available).

* feat: implement @selfxyz/rn-sdk React Native SDK

  Thin <SelfVerification /> component wrapping react-native-webview
  that embeds Self's identity verification flow. Bridges NFC, camera,
  biometrics, keychain, and lifecycle to native via MessageRouter.

  - MessageRouter: routes WebView bridge messages to domain handlers
  - 5 handlers: lifecycle, biometrics, secureStorage, nfc, camera
  - Platform.select asset loading (Android file://, iOS RNFS bundle)
  - 59 unit tests, build + typecheck clean
  - ReactNativeWebView transport detection added to webview-bridge

* fix: Remove dead code and persist verification state

Claude identified some gaps in the spec. Fixed to match:

  - Delete unused onVerificationSuccess/Failure/Cancelled methods
    from MainViewModel (sdkCallback handles all cases)
  - Add expect/actual AppStorage (SharedPreferences / NSUserDefaults)
    to persist HomeState across app restarts
  - Update homeState eagerly in sdkCallback.onSuccess() so Android
    system back button shows correct state on HomeScreen

* refactor: migrate webview-app from Tamagui to @selfxyz/euclid-web

  Replace Tamagui + react-native-web UI framework with Self's
  official euclid-web component library across all 10 screens.
  Simplify Vite config, remove RN aliases, and fix country flag
  emoji rendering with proper ISO 3166-1 alpha-3 to alpha-2
  conversion.

  - Remove tamagui, @tamagui/config, react-native-web deps
  - Add @selfxyz/euclid-web and @selfxyz/euclid-core
  - Rewrite 6 screens as euclid direct replacements
  - Compose 4 screens from euclid primitives
  - Fix fonts.css for euclid font family names
  - Add shared countryFlags utility (alpha-3 → alpha-2 lookup)
  - Clean up tsconfig.json and stale .tamagui cache

* fix pipeline

* formatting

* fix tests

* fix type error

* address feedback

* fix formatting

* update specs and create handoff doc for new pull request

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Tranquil-Flow <tranquil_flow@protonmail.com>
2026-02-18 21:32:20 -08:00
Justin Hernandez
d5a03a6f64 refactor specs with new style (#1769)
* add new specs

* formatting

* format all markdown files

* more formatting

* consolidate into overview

* update spec and template guidelines

* refactor specs

* save wip

* move status up

* wip

* update specs with missing items, remove stale items, add wave planning

* finalize specs and formatting

* formatting

* agent feedback, reviews

* formatting and feedback

* finalize feedback

* more feedback

* pr feedback

* formatting
2026-02-17 21:31:01 -08:00
turnoffthiscomputer
21c5e9b394 Add VERIFICATION_COMPLETE event and optional relay listener for WebView mode (#1765)
* Add lifecycle completion and optional relay listener

* fix ci

* udpate specs

* feat: implement React Native adapters for authentication, documents, and networking

- Added new adapters for authentication, document management, and network communication tailored for React Native.
- Introduced `createAuthAdapter`, `createDocumentsAdapter`, and `createNetworkAdapter` to streamline integration with React Native's capabilities.
- Updated `SelfClientProvider` to utilize the new adapter factory for improved modularity and maintainability.
- Enhanced package dependencies to include necessary libraries for secure storage and hashing.

This update enhances the SDK's functionality and prepares it for better cross-platform compatibility.

* refactor: update specs to streamline documentation and remove obsolete entries

- Removed the "Keep / Modify / Delete" section from the specs to simplify the document structure.
- Updated the remaining specifications to reflect the current architecture and integration paths, including the introduction of the new `SPEC-RN-SDK.md` for the `<SelfVerification />` RN WebView wrapper component.
- This change enhances clarity and aligns the documentation with recent architectural decisions.

* prettier

* update gitignore to include swift build paths

* update gems

* address pr feedback and pipeline errors

* agent feedback. also include follow up work items

* fix ws send guard + document unresolved coderabbit review items in specs

- Add readyState guard to WsConn.send() to throw a clear error instead of
  InvalidStateError when socket is not OPEN
- Fix stale abort listener leak: clean up abort handler unconditionally on
  socket close, not only when caller registers onClose
- Add "Chunk 3F implementation notes" to SPEC-PERSON3-SDK-CORE for SHA
  algorithm name mapping and fake-indexeddb test requirement
- Add "Spec Corrections" section to SPEC-RN-SDK documenting 5 issues
  (peerDep, missing router arg, iOS source, randomUUID, RNFS) to address
  during implementation

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

* formatting

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:48:41 -08:00
github-actions[bot]
2da4df6748 chore: bump mobile app version to 2.9.16 (#1761)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-16 01:19:06 -08:00
Justin Hernandez
03635abaaf chore: add kmp license headers; update license year range (#1752)
* add kmp license headers and update year

* formatting
2026-02-15 16:56:06 -08:00
Evi Nova
3298e13e60 refactor: remove blur on document when selected + show old view ID data (#1747)
* refactor: remove blur on document when selected

* fix: show original 'view ID data'
2026-02-14 09:34:08 +10:00
github-actions[bot]
c158869725 chore: bump mobile app version to 2.9.16 (#1746)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-12 19:26:50 -08:00
Justin Hernandez
eee830b7ea agent feedback (#1744) 2026-02-12 17:35:54 -08:00
Justin Hernandez
2495b7af4d bump to 2.9.16 (#1740) 2026-02-12 14:46:53 -08:00
Justin Hernandez
de8787ef1a chore: enable sumsub (#1737)
* enable sumsub

* bugbot feedback
2026-02-12 14:42:18 -08:00
Justin Hernandez
575566f7f2 chore: less flaky nfc test (#1738)
* attempt to make test less flaky

* fix flaky test again

* lint
2026-02-12 14:24:07 -08:00
Justin Hernandez
7c49a3261f chore: address additional sumsub feedback (#1735)
* agent feedback

* fix settings screen color
2026-02-12 11:09:22 -08:00
Leszek Stachowski
abf01c82c0 Show badge for inactive documents (#1487)
* Show badge for inactive documents

* fix

* refactor to use the new flag

* add inactive check to ProveScreen

* lint

* fix for proving button not working

* use new qrHashlogic

* increase bundle size threshold to 46MB

* remove commented out line

* add kyc related changes

---------

Co-authored-by: seshanthS <seshanth@protonmail.com>
2026-02-12 11:05:47 -08:00
Justin Hernandez
ec8b8fc419 refactor(app): share homescreen card dimensions (#1733)
* refactor(app): share homescreen card dimensions

* formatting

* fix logic
2026-02-11 15:56:15 -08:00
Justin Hernandez
3ba1d33fbe chore: agent points hook feedback (#1727)
* agent points feedback

* agent feeddback
2026-02-11 15:35:14 -08:00
Seshanth.S
886e02f53d SELF-1938 sumsub integration (#1661)
* Sumsub: Update keychain and types

* sumsub: ProvingMachine changes - WIP

* fix: remove duplicate identifier

* update proving machine

* Refactor && Continue onchain registration if user left the app

* fix register flow

* Add hooks to KycSuccessScreen

* Integrate KycVerifiedScreen (#1686)

* Integrate KycVerifiedScreen & Fix race conditions

* yarn lint

* lint

* lint

* add mock kyc

* fix disclose flow

* yarn lint

* Feat/add kyc home screen card design (#1708)

* feat: add new designs to the kycIdCard

* refactor: Update KycIdCard design to match IdCard styling

* feat: update document cards + dev document

* feat: update empty id card for new design

* feat: update pending document card design

* feat: update expired doc + unregistered doc cards from new design

* fix: unregisted id card button links to continue registration screen

* fix: logo design on document cards

* feat: add 6 different backgrounds for ids

deterministically shows 1 of 6 backgrounds for each document | fix: fixed document designs not displaying correctly.

* chore: trigger CI rebuild

* feat: Integrate PendingIdCard to Homescreen

* fix KycIdCard.tsx

---------

Co-authored-by: seshanthS <seshanth@protonmail.com>

* lint

* fix tests

* fix: cleanup only on unmount

* coderabbit comments

* fix: cleanup unused code

* fix: edge case for German Passports with D<< nationality code

* fix tests

* review comments

* review comments

* lint

* Hide duplicated cards in Homescreen

* remove console.log

* fix patch

* remove unused vars

* agent updates

* agent feedback

* abstract colors and formatting

* agent feedback

* Regenerate Sumsub patch-package patch

* fix: handle malformed kyc payload in card background selector

* re-add for clean up

---------

Co-authored-by: Evi Nova <66773372+Tranquil-Flow@users.noreply.github.com>
Co-authored-by: Evi Nova <tranquil_flow@protonmail.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-02-11 13:51:10 -08:00
Justin Hernandez
2a583f72c7 chore: update fastlane to 2.232.0 (#1723)
* udpate fastlane

* audit gems
2026-02-09 17:14:49 -08:00
Justin Hernandez
2fbd39f5eb chore: remove microphone permission; release new build for 2.9.15 (#1724)
* remove microphone permission

* bump build to 142
2026-02-09 16:58:20 -08:00
github-actions[bot]
63e4fdb111 chore: bump mobile app version to 2.9.15 (#1722)
* chore: bump mobile app version to 2.9.15

Update build numbers and deployment timestamps after successful deployment.

* bump android version code

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-02-09 15:53:58 -08:00
Justin Hernandez
c886ed19e0 SELF-1959: reset isDecoding on OCR failure (#1720)
* add try catch to set isDecoding on failure

* call mrz listener with failure

* remove redundant log call
2026-02-09 10:12:37 -08:00
github-actions[bot]
ccf3a3e3c5 chore: bump mobile app version to 2.9.15 (#1716)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-09 06:31:40 -08:00
Evi Nova
ac69e328d9 Fix/logo confirmation screen header (#1717)
* fix: logo confirmation screen header matching background

* refactor: match code patterns in logo confirmation screen to others

use Tamgui instead of react-native, don't show raw errors, inline objects
2026-02-09 12:43:46 +10:00
Justin Hernandez
a1b04f2b03 chore: enable SumSub Fisherman device intelligence with privacy compliance (#1714)
* clean up permissions

* updates for permissions

* update permissions and packages

* fix: mark device ID collection as linked in privacy manifest

Address CodeRabbit feedback:
- Set NSPrivacyCollectedDataTypeLinked to true (device signals are tied to applicant identity)
- Clarify Android Data Safety checklist requirements with explicit data-linking declaration

Co-authored-by: Cursor <cursoragent@cursor.com>

* remove for now

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 12:08:08 -08:00
Justin Hernandez
c8191aa60b chore: hide kyc entry points for release 2.9.15 (#1712)
* hide kyc entry points

* formatting
2026-02-06 09:04:51 -08:00
Evi Nova
73ca37f3b9 Feat/add logo confirmation screen (#1666)
* feat: initial logoConfirmation screen

* fix: center text in buttons

* fix: ensure biometric logo is not cropped

* fix: add spacing to logo confirm screen, consistent padding for buttons

* feat: add popup to logo confirmation screen

* fix: handle Sumsub cancellation correctly in Other ID flow

* feat: add pathway from logo confirmation -> sumsub -> success

* feat: add document type pre-selection for Sumsub SDK

* feat: add KycFailureScreen for when user clicks on failure notification

* feat: add KycConnectionErrorScreen for sumsub_initiation error

* refactor: edit RegistrationFallbackScreen for new design

Now only to be used for MRZ/NFC scan errors, instead of kyc connection/registration issues. Also updated to newest design for screen from Figma

* refactor: update AadhaarUploadErrorScreen for new design

* fix: removed unused countryCode variable and useRoute import

* fix: Sorted imports (moved kyc after documents/selection imports)

fix CI

* chore: lint/prettier

* fix: CI error

* refactor: Split RegistrationFallbackScreen into MRZ/NFC error versions

* feat: add link from RegistrationFallbackNFCScreen -> DocumentNFCTrouble

Clicking on the question mark now takes user to this screen that can help them diagnose issue

* fix: on clicking question mark, dismiss screen returns to correct screen

* chore: yarn prettier

* test: fix failing test for CI
2026-02-06 22:27:50 +10:00
Justin Hernandez
141fcb67c3 chore: accept xcode suggestions 2026 02 (#1711)
* xcode suggestionsn rd1

* disable sandbox
2026-02-05 14:25:00 -08:00
Justin Hernandez
7acc9bb2a6 chore: fix failing mobile demo ios e2e tests (#1710)
* fix failing mobile demo ios e2e tests

* temp test

* add patch. update files

* run demo e2e patch

* sort package json

* disable running on dev
2026-02-05 13:15:05 -08:00
Justin Hernandez
63fd92da95 chore: clean up navigation index (#1703)
* abstract nav types

* fix points flow callbacks
2026-02-05 09:07:09 -08:00
Justin Hernandez
e2fae7d62e update build number and updae gemfile lock (#1706) 2026-02-04 20:53:39 -08:00