Commit Graph

81 Commits

Author SHA1 Message Date
Justin Hernandez
1d9e87f9b8 chore: bump v2.6.6 (aadhaar) for release (#1103)
* bump build number and version to 2.6.6

* fix tests

* update version
2025-09-20 13:48:17 -07:00
turnoffthiscomputer
f6881bf2d9 Refactor deep link handling to simplify navigation to ProveScreen (#1104)
* Refactor deep link handling to simplify navigation to ProveScreen

- Removed the reset of the navigation stack and replaced it with a direct navigation call to 'Prove'.
- This change streamlines the deep link handling process, ensuring a more straightforward user experience when navigating to the ProveScreen.

* update lock and fix tests

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-09-19 22:41:55 -07:00
Justin Hernandez
48a8146a4b fix aadhaar screen test (#1101)
* add iOS qrcode opener and aadhaar screen

* format

* fix test

* add Image-picker android (#1077)

* add image-picker android

* fix validation

* feat: implement Aadhaar upload success and error screens, enhance AadhaarNavBar with dynamic progress indication

- Added AadhaarUploadedSuccessScreen and AadhaarUploadErrorScreen components for handling upload outcomes.
- Updated AadhaarNavBar to reflect current upload step with dynamic progress bar.
- Integrated new screens into navigation flow for Aadhaar upload process.
- Introduced blue check and warning SVG icons for visual feedback on success and error states.

* feat: generate mock aadhar (#1083)

* feat: generate mock aadhar

* add yarn.lock

* update yarn.lock

* update protocolStore, update types, start modifying provingMachine

* Register mock aadhar (#1093)

* Register mock aadhar

* fix ofac

* temp: generate name

* fix dob

* Add Aadhaar support to ID card component and screens

- Integrated Aadhaar icon and conditional rendering in IdCardLayout.
- Updated AadhaarUploadScreen to process QR codes and store Aadhaar data.
- Modified navigation and button text in AadhaarUploadedSuccessScreen.
- Added mock data generation for Aadhaar in the mobile SDK.
- Updated ManageDocumentsScreen to include Aadhaar document type.
- Enhanced error handling and validation for Aadhaar QR code processing.
- Added utility functions for Aadhaar data extraction and commitment processing.

* aadhaar disclose - wip (#1094)

* fix: timestamp cal of extractQRDataFields

* Feat/aadhar fixes (#1099)

* Fix - android aadhar qr scanner

* fixes

* update text

* yarn nice

* run prettier

* Add mock Aadhaar certificates for development

- Introduced hardcoded Aadhaar test certificates for development purposes.
- Moved Aadhaar mock private and public keys to a dedicated file for better organization.
- Updated the mock ID document generation utility to utilize the new Aadhaar mock certificates.

* prettier write

* add 'add-aadhaar' button (#1100)

* Update .gitleaks.toml to include path for mock certificates in the common/dist directory

* yarn nice

* Enhance Aadhaar error handling with specific error types

- Updated the AadhaarUploadErrorScreen to display different messages based on the error type (general or expired).
- Modified the AadhaarUploadScreen to pass the appropriate error type when navigating to the error screen.
- Set initial parameters for the home screen to include a default error type.

* Update passport handling in proving machine to support Aadhaar document category

- Modified the handling of country code in the useProvingStore to return 'IND' for Aadhaar documents.
- Ensured that the country code is only fetched from passport metadata for non-Aadhaar documents.

* tweak layout, text, change email to support, hide help button

* fix ci, remove aadhaar logging, add aadhaar events

* remove unused aadhaar tracking events

* update globs

* fix gitguardian config

* don't track id

* fix test

---------

Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: vishal <vishalkoolkarni0045@gmail.com>
2025-09-19 18:03:04 -07:00
turnoffthiscomputer
2df4dc4619 SELF-725: add iOS qrcode opener and aadhaar screen (#1038)
* add iOS qrcode opener and aadhaar screen

* format

* fix test

* add Image-picker android (#1077)

* add image-picker android

* fix validation

* feat: implement Aadhaar upload success and error screens, enhance AadhaarNavBar with dynamic progress indication

- Added AadhaarUploadedSuccessScreen and AadhaarUploadErrorScreen components for handling upload outcomes.
- Updated AadhaarNavBar to reflect current upload step with dynamic progress bar.
- Integrated new screens into navigation flow for Aadhaar upload process.
- Introduced blue check and warning SVG icons for visual feedback on success and error states.

* feat: generate mock aadhar (#1083)

* feat: generate mock aadhar

* add yarn.lock

* update yarn.lock

* update protocolStore, update types, start modifying provingMachine

* Register mock aadhar (#1093)

* Register mock aadhar

* fix ofac

* temp: generate name

* fix dob

* Add Aadhaar support to ID card component and screens

- Integrated Aadhaar icon and conditional rendering in IdCardLayout.
- Updated AadhaarUploadScreen to process QR codes and store Aadhaar data.
- Modified navigation and button text in AadhaarUploadedSuccessScreen.
- Added mock data generation for Aadhaar in the mobile SDK.
- Updated ManageDocumentsScreen to include Aadhaar document type.
- Enhanced error handling and validation for Aadhaar QR code processing.
- Added utility functions for Aadhaar data extraction and commitment processing.

* aadhaar disclose - wip (#1094)

* fix: timestamp cal of extractQRDataFields

* Feat/aadhar fixes (#1099)

* Fix - android aadhar qr scanner

* fixes

* update text

* yarn nice

* run prettier

* Add mock Aadhaar certificates for development

- Introduced hardcoded Aadhaar test certificates for development purposes.
- Moved Aadhaar mock private and public keys to a dedicated file for better organization.
- Updated the mock ID document generation utility to utilize the new Aadhaar mock certificates.

* prettier write

* add 'add-aadhaar' button (#1100)

* Update .gitleaks.toml to include path for mock certificates in the common/dist directory

* yarn nice

* Enhance Aadhaar error handling with specific error types

- Updated the AadhaarUploadErrorScreen to display different messages based on the error type (general or expired).
- Modified the AadhaarUploadScreen to pass the appropriate error type when navigating to the error screen.
- Set initial parameters for the home screen to include a default error type.

* Update passport handling in proving machine to support Aadhaar document category

- Modified the handling of country code in the useProvingStore to return 'IND' for Aadhaar documents.
- Ensured that the country code is only fetched from passport metadata for non-Aadhaar documents.

* tweak layout, text, change email to support, hide help button

* fix ci, remove aadhaar logging, add aadhaar events

* remove unused aadhaar tracking events

* update globs

* fix gitguardian config

* don't track id

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: vishal <vishalkoolkarni0045@gmail.com>
2025-09-19 17:36:01 -07:00
Justin Hernandez
c2406f00d2 chore update mobile app types (#1087)
* clean up types

* clean up additional types

* format

* fix types
2025-09-17 17:35:14 -07:00
Justin Hernandez
3397fcf43b Revert "Mobile SDK: move provingMachine from the app (#1052)" (#1084)
This reverts commit 8983ac2268.
2025-09-17 12:48:42 -07:00
Leszek Stachowski
8983ac2268 Mobile SDK: move provingMachine from the app (#1052)
* Mobile SDK: move provingMachine from the app

* lint, fixes

* fix web build?

* lint

* fix metro build, add deps

* update lock files

* move the status handlers and proving machine tests

* may it be

* fix up

* yolo

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
2025-09-17 15:48:36 +02:00
Justin Hernandez
99165c95dc [SELF-723] feat: add structured NFC and Proof logging (#1048)
* feat: add structured NFC logging

* fix ci

* Fix: add deps

* logging fixes. use breadcrumbs

* fix android build

* update SeverityLevel

* [SELF-705] feat: add proof event logging (#1057)

* feat: add proof event logging

* refactor: unify sentry event logging

* fix types

* fix mock

* simplify

* code rabbit feedback

* fix tests

---------

Co-authored-by: seshanthS <seshanth@protonmail.com>
2025-09-12 17:12:44 -07:00
Justin Hernandez
94d8fcada5 fix: OFAC trees not found (#1060)
* fix: relax OFAC tree response validation

* test: cover OFAC tree edge cases

* fix stateless

* revert and fix types

* fix tests
2025-09-12 14:03:18 -07:00
Aaron DeRuvo
1f362b33ce Move self app store to mobile sdk (#1040) 2025-09-11 17:30:01 +02:00
Justin Hernandez
990bee09b7 Fix mock passport generation (#1031)
* fix mock passport generation

* fix mobile ci tests
2025-09-09 10:24:31 -07:00
Leszek Stachowski
c1042f51d1 SDK: minimize amount of data sent through PROVING_PASSPORT_NOT_SUPPORTED event (#1030) 2025-09-09 17:59:48 +02:00
Leszek Stachowski
99c5612e04 Remove navigationRef from provingMachine (#1011) 2025-09-09 16:21:08 +02:00
Aaron DeRuvo
3aabfc984a moves ofac and protocol store (#1012)
* move ofact tree fetch to common

* move protocol store to the msdk, fix some dependencies on msdk
2025-09-09 13:31:43 +02:00
Justin Hernandez
a1c69981eb remove lazy loading (#1018)
* remove lazy loading

* fix tests

* formatting

* fix imports and web ci

* fix tests

* fix building

* fix

* debug ci

* fix web ci issue

* fix

* fix

* fix ci

* remove web render test

* coderabbit feedback

* fix ci

* use import

* fix lint

* fix compiling

* update lock

* update lock

* fix: update yarn.lock hash for @selfxyz/mobile-sdk-alpha

Resolves CI error where yarn install --immutable failed due to
outdated package hash. The hash changed from b2afc4 to f9ebb9.

* fix: update yarn.lock hash after mobile-sdk-alpha changes

- Hash changed from c0e6b9 to 0d0f72 due to package modifications
- Cleaned caches and regenerated lockfile to ensure consistency
- This resolves CI cache mismatch where old artifacts had stale hash

* fix: update yarn.lock hash after building mobile-sdk-alpha

- Final hash: 89f5a6 (includes built dist artifacts)
- Built mobile-sdk-alpha to ensure package is in stable state
- This should resolve CI immutable install errors

* fix yarn lock and build
2025-09-09 00:55:23 -07:00
Justin Hernandez
b6d526e5f8 chore: update dev with staging 09/06/25 (#1007)
* update CI

* bump iOS version

* update readme

* update mobile-deploy ci

* bump version iOS

* update workflow to use workload identity federation (#933)

* update workflow to use workload identity federation

* add token permissions

* correct provider name

* chore: incrementing android build version for version 2.6.4 [github action]

---------

Co-authored-by: Self GitHub Actions <action@github.com>

* update ci

* update ci

* update ci

* update ci

* update ci

* fix ci

* fix ci

* fix ci

* remove fastlane use for android

* bump iOS build version

* update CI python script

* iterate on CI

* iterate on CI

* iterate on CI

* Dev (#941)

* SDK Go version (#920)

* feat: helper functions and constant for go-sdk

* feat: formatRevealedDataPacked in go

* chore: refactor

* feat: define struct for selfBackendVerifier

* feat: verify function for selfBackendVerifier

* feat(wip): custom hasher

* feat: SelfVerifierBacked in go

* test(wip): scope and userContextHash is failing

* test: zk proof verified

* fix: MockConfigStore getactionId function

* chore: refactor

* chore: remove abi duplicate files

* chore: move configStore to utils

* chore: modified VcAndDiscloseProof struct

* chore: more review changes

* feat: impl DefaultConfig and InMemoryConfigStore

* chore: refactor and export functions

* fix: module import and README

* chore: remove example folder

* chore: remove pointers from VerificationConfig

* chore: coderabbit review fixes

* chore: more coderabbit review fix

* chore: add license

* fix: convert attestationIdd to int

* chore: remove duplicate code

---------

Co-authored-by: ayman <aymanshaik1015@gmail.com>

* Moving proving Utils to common (#935)

* remove react dom

* moves proving utils to the common

* need to use rn components

* fix imports

* add proving-utils and dedeuplicate entry configs for esm and cjs.

* must wrap in text component

* fix metro bundling

* fix mock import

* fix builds and tests

* please save me

* solution?

* fix test

* Move proving inputs to the common package (#937)

* create ofactTree type to share

* move proving inputs from app to register inputs in common

* missed reexport

* ok

* add some validations as suggested by our ai overlords

* Fix mock passport flow (#942)

* fix dev screens

* add hint

* rename

* fix path

* fix mobile-ci path

* fix: extractMRZ (#938)

* fix: extractMRZ

* yarn nice && yarn types

* fix test: remove unused

* fix mobile ci

* add script

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>

* Move Proving attest and cose (#950)

* moved attest and cose utils to common

with cursor converted tests in common to use vitest and converted coseVerify.test to vitest after moving from app to common

what does cryptoLoader do?

* moved away

* get buff

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* SELF-253 feat: add user email feedback (#889)

* feat: add sentry feedback

* add sentry feedback to web

* feat: add custom feedback modal & fix freeze on IOS

* yarn nice

* update lock

* feat: show feedback widget on NFC scan issues (#948)

* feat: show feedback widget on NFC scan issues

* fix ref

* clean up

* fix report issue screen

* abstract send user feedback email logic

* fixes

* change text to Report Issue

* sanitize email and track event messge

* remove unnecessary sanitization

* add sanitize error message tests

* fix tests

* save wip. almost done

* fix screen test

* fix screen test

* remove non working test

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>

* chore: centralize license header checks (#952)

* chore: centralize license header scripts

* chore: run license header checks from root

* add header to other files

* add header to bundle

* add migration script and update check license headers

* convert license to mobile sdk

* migrate license headers

* remove headers from common; convert remaining

* fix headers

* add license header checks

* update unsupported passport screen (#953)

* update unsupported passport screen

* yarn nice

---------

Co-authored-by: Vishalkulkarni45 <109329073+Vishalkulkarni45@users.noreply.github.com>
Co-authored-by: ayman <aymanshaik1015@gmail.com>
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: Justin Hernandez <transphorm@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* bump version

* bump yarn.lock

* update ci (#966)

* chore: Manually bump and release v2.6.4 (#961)

* update lock files

* bump and build android

* update build artifacts

* show generate mock document button

* update lock

* fix formatting and update failing e2e test

* revert podfile

* fixes

* fix cold start of the app with deeplink

* update ci

* update ci

* Sync MARKETING_VERSION to iOS project files after version bump

* chore: incrementing android build version for version 2.6.4 [github action] (#976)

Co-authored-by: remicolin <98749896+remicolin@users.noreply.github.com>

* chore: add build dependencies step for iOS and Android in mobile deploy workflow

* chore: enhance mobile deploy workflow by adding CMake installation step

* bump android build version

* chore: incrementing android build version for version 2.6.4 [github action] (#985)

Co-authored-by: remicolin <98749896+remicolin@users.noreply.github.com>

* chore: configure Metro bundler for production compatibility in mobile deploy workflow

* chore: incrementing android build version for version 2.6.4 [github action] (#987)

Co-authored-by: remicolin <98749896+remicolin@users.noreply.github.com>

* Revert "chore: configure Metro bundler for production compatibility in mobile deploy workflow"

This reverts commit 60fc1f2580.

* reduce max old space size in mobile-deploy ci

* fix android french id card (#957)

* fix android french id card

* fix common ci cache

* feat: log apdu (#988)

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>

* unblock ci

* fix merge

* merge fixes

* fix tests

* make ci happy

---------

Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
Co-authored-by: pputman-clabs <99900942+pputman-clabs@users.noreply.github.com>
Co-authored-by: Self GitHub Actions <action@github.com>
Co-authored-by: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com>
Co-authored-by: Vishalkulkarni45 <109329073+Vishalkulkarni45@users.noreply.github.com>
Co-authored-by: ayman <aymanshaik1015@gmail.com>
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-07 11:19:59 -07:00
Seshanth.S🐺
ec93ad564a [SELF-654] feat: add native modules (#919)
* feat: add ios native modules

* fix: extractMRZ

* Add android OCR native module

* wire native mrz module with adapter

* wire Native modules and fix tests

* fixes

* fix license header logic

* fix tests

* fix types

* fix: ci test

* fix: android build ci

* fix: ios build CI

* add podfile.lock

* add yarn.lock

* update lock files

* add yarn.lock

* add license

* order methods

* update lock

* pipeline fixes

* prettier

* update lock file

* fix native modules on external apps

* bundle @selfxyz/common into mobile-sdk-alpha

* chore: address yarn lock issues (#1004)

* address yarn lock issues

* fix postinstall

* update lock

* fix build issues

* fix pipeline issue

* fix ci

* fix bad merge

* fix android ci

* fix ci errors

* fix mobile sdk ci. stop gap fix for now until we create a package

* tweaks

* retry aapt2 approach

* use ^0.8.4 instead of ^0.8.0 due to the use of custom errors

* workflow fixes

* fix file

* update

* fix ci

* test ci fix

* fix test

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-09-06 19:41:13 -07:00
Justin Hernandez
5a6142515c chore: implement google play suggestions (#997)
* google play suggestions

* update gitguardian ignore

* remove unused
2025-09-03 21:38:18 -07:00
Justin Hernandez
520c05d4fc SELF-702: Refactor navigation structure and dev utilities (#994)
* Refactor navigation and dev screens

* refactor: rename passport screens to document

* fixes

* add missing header

* fixes

* type files
2025-08-30 21:00:21 -07:00
Justin Hernandez
12aff535de chore(app): resolve lint warnings (#990)
* chore(app): resolve lint warnings

* update lock

* clean up any types

* fix types

* feedback from cr
2025-08-29 21:01:24 -07:00
Leszek Stachowski
b8f3505fe5 Move loadSelectedDocument to SDK (#967)
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-29 09:39:01 +02:00
Justin Hernandez
3b5340862b Chore fix ios nfc scanning and compiling (#979)
* fixes

* silence error

* fix debugge

* fix nfc scanning

* lint and pipeline fixes
2025-08-28 13:57:57 -07:00
Justin Hernandez
0e3e5de1b0 Fix nfc configuration scanning issue (#978)
* fix nfc scanning on ios and android

* save test

* fix tests

* fix lint
2025-08-28 11:12:41 -07:00
Aaron DeRuvo
d9f80f8c13 Auth Adapter + (#958)
* basic auth adapater

* remove SelfMobileSDk, this was another architecture which the adapter patern replaced

* rename to avoid confusion with client.test.ts

* basic auth adapater

* remove SelfMobileSDk, this was another architecture which the adapter patern replaced

* rename to avoid confusion with client.test.ts

* self

* fix

* remove prototypes

* make sure its mounted

* fix tests

* fmt

* require required adapters

* fix types

* not a partial

* adds missing exports

* fix missing data
2025-08-28 10:13:00 +02:00
Justin Hernandez
09ad70bdd7 Add DSC parsing check (#836)
* Handle missing dsc parsed

* nice

* fix test

* throw

* fix
2025-08-27 21:57:41 -07:00
Justin Hernandez
fc472915e6 refactor: remove namespace imports (#969)
* refactor: remove namespace imports

* refactor: use named fs imports

* refactor(app): replace path and fs namespace imports

* format

* format
2025-08-27 20:59:26 -07:00
Justin Hernandez
dba8ee1951 feat: improve mixpanel flush strategy (#960)
* feat: improve mixpanel flush strategy

* fixes

* fix build

* update lock

* refactor methods

* conslidate calls

* update package and lock
2025-08-27 20:09:22 -07:00
Justin Hernandez
590f188f3c [SELF-676] feat: upgrade React Native from 0.75.4 to 0.76.9 (#943)
* chore: upgrade build tooling to Node 22 and AGP 8.6

* chore: upgrade react-native to 0.76.9

* update lock files and formatting

* fix path

* fix: handle hermes-engine cache mismatch in CI after React Native upgrade

- Add fallback logic to run 'pod update hermes-engine' when pod install fails
- This resolves CocoaPods cache issues that occur after React Native version upgrades
- Fixes CI pipeline failures on codex/update-core-tooling-for-react-native-upgrade branch

* fix: improve hermes-engine cache handling in CI

- Preemptively clear CocoaPods cache before pod install
- This prevents dependency analysis failures that occur when cached podspecs conflict
- Addresses the root cause: cache conflicts during 'Analyzing dependencies' phase
- Keeps fallback logic for additional safety

* fix: handle hermes-engine cache in mobile-bundle-analysis workflow

- Add pod-install-with-cache-fix.sh script to handle hermes-engine cache conflicts
- Update install-app:setup script to use the new cache fix approach
- This fixes the mobile-bundle-analysis.yml workflow failures after React Native upgrade
- Proactively clears CocoaPods cache and has fallback for hermes-engine updates

* formatting

* fix: robust hermes-engine cache handling in CI workflows

- Apply comprehensive cache clearing to mobile-ci.yml and mobile-e2e.yml
- Pre-emptively run 'pod update hermes-engine' before pod install
- Clear multiple cache locations to handle CI environment differences
- This prevents 'hermes-engine differs from Pods/Local Podspecs' errors
- Fixes all workflows affected by React Native 0.76.9 upgrade cache issues

* fixes

* clean up

* update lock files

* fix tests

* sort

* fixes

* fix ci

* fix deployment target

* android fixes

* upgrade fix

* fixes

* fix: streamline mobile CI build and caching (#946)

* fix: streamline mobile CI build and caching

* Enable mobile E2E tests on codex/fix-mobile-ci-workflow-errors branch

* test

* simplify and fix path

* workflow fixes

* fix loading on 0.76.9

* clean up unnecessary comments

* fix readme

* finalize upgrade to 0.76.9

* fix android build and upgrade

* fix bundler caching

* download cli to fix "yarn start" issues

* fix cli build erorr

* fix script path

* better path

* abstract build step to prevent race condition

* fixes

* better cache

* fix corepack build error

* update lock

* update lock

* add yarn cache to workflows

* fix test building

* ci caching improvements

* fix common type check

* fix common ci

* better mobile sdk alpha building logic

* chore: speed up mobile e2e workflow (#962)

* chore: speed up mobile e2e workflow

* chore: disable android e2e job

* chore: speed up ios build

* fix: bundle js for ios debug build

* fix e2e
2025-08-26 20:27:51 -07:00
Leszek Stachowski
6c3cd978ad Read document catalog from selfClient (#936) 2025-08-26 17:05:51 +02:00
Aaron DeRuvo
4367780cd6 Migrate Analytics (#951)
* setup analytics adapter for self mobile sdk client and use in app

* wrap for context

* fix build

* yarn types is an alias for build when build just compiles ts

* ok unlock

* deeper

* ok this looks to work

* fix license check

* make sure it starts with this line

* someone didnt commit

* fix double analytics bug and builds

* lint
2025-08-26 15:40:14 +02:00
Justin Hernandez
431f556542 chore: centralize license header checks (#952)
* chore: centralize license header scripts

* chore: run license header checks from root

* add header to other files

* add header to bundle

* add migration script and update check license headers

* convert license to mobile sdk

* migrate license headers

* remove headers from common; convert remaining

* fix headers

* add license header checks
2025-08-25 11:30:23 -07:00
Seshanth.S🐺
610f195136 SELF-253 feat: add user email feedback (#889)
* feat: add sentry feedback

* add sentry feedback to web

* feat: add custom feedback modal & fix freeze on IOS

* yarn nice

* update lock

* feat: show feedback widget on NFC scan issues (#948)

* feat: show feedback widget on NFC scan issues

* fix ref

* clean up

* fix report issue screen

* abstract send user feedback email logic

* fixes

* change text to Report Issue

* sanitize email and track event messge

* remove unnecessary sanitization

* add sanitize error message tests

* fix tests

* save wip. almost done

* fix screen test

* fix screen test

* remove non working test

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-08-25 09:34:18 -07:00
Aaron DeRuvo
d8bf5f9db7 Move Proving attest and cose (#950)
* moved attest and cose utils to common

with cursor converted tests in common to use vitest and converted coseVerify.test to vitest after moving from app to common

what does cryptoLoader do?

* moved away

* get buff

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-25 12:26:19 +02:00
Seshanth.S🐺
a918b45332 fix: extractMRZ (#938)
* fix: extractMRZ

* yarn nice && yarn types

* fix test: remove unused

* fix mobile ci

* add script

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-08-24 13:27:42 -07:00
Aaron DeRuvo
bf718d5caa Moving proving Utils to common (#935)
* remove react dom

* moves proving utils to the common

* need to use rn components

* fix imports

* add proving-utils and dedeuplicate entry configs for esm and cjs.

* must wrap in text component

* fix metro bundling

* fix mock import

* fix builds and tests

* please save me

* solution?

* fix test
2025-08-22 09:57:34 +02:00
Justin Hernandez
cc628a79d2 feat: use SelfClient for MRZ parsing (#930)
* feat: add Self SDK provider

* test: cover passport camera and self client provider

* allow this to fail for now cuz the runner doesn't support 16.4

* sort imports

* upgrade and fix

* fix header issue

* pr feedback

* fix linter

* Update app/scripts/check-license-headers.mjs

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update app/scripts/check-license-headers.mjs

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* update extensions and lock file

* simplify call

* use caching

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-19 22:30:40 -07:00
Justin Hernandez
749db8e67a feat: add passport validation module (#887)
* feat: add passport validation

* refactor: consume sdk passport validator in app

* feat: add tracking hook to passport validation

* feat: add validation callbacks

* docs: clarify passport validator

* fix: validate passport hash algorithms

* abstract properly

* fix tests

* format

* fix logger and bundler

* fix tests

* fix tests and bundling

* fix format

* update lock

* fix types

* fixes

* fixes

* don't leak pii

* done

* revert error
2025-08-14 17:15:50 -07:00
Justin Hernandez
0cf1bc830b chore: trim lint warnings and ignore dev paths (#897)
* chore: trim lint warnings and ignore dev paths

* fix: restore navigation param types

* fixes

* fixes

* tweaks and cr feedback

* final improvements

* fix nav types
2025-08-14 13:55:32 -07:00
Justin Hernandez
6b285c9bf3 chore: address TypeScript ESLint v8 upgrade feedback and improve type safety (#895)
* cr feedback

* update based on feedback

* typing updates

* unify yarn package version

* update lock
2025-08-14 09:19:34 -07:00
Justin Hernandez
2ed8bcfe53 feat: modernize sdk/qrcode build pipeline (#872)
* Modernize qrcode build

* chore(qrcode): add lint helpers

* fix sdk qrcode

* add new qrcode ci

* fix formatting

* qrcode fixes

* fixes

* fixes rd2

* enable corepack

* enable corepack

* build caching

* update caching

* cr feedback
2025-08-10 21:22:02 -07:00
Justin Hernandez
d8b2f60c57 Simplify alias tooling and relax export sorting (#867)
* Simplify alias config

* Restore export sorting overrides

* save migration pattern

* alias last minute updates

* fix tests

* improved import sorting

* Implement typed event emitter (#869)

* Implement typed event emitter

* cr suggestion
2025-08-10 13:53:03 -07:00
Justin Hernandez
b59dbe1b05 Chore: mobile sdk refinements (#858)
* Add sdk-alpha package with MRZ helper

* chore: add migration report script

* Add lint config and MRZ tests to sdk-alpha

* fix tests

* fixes. wip

* fixes

* fix bundler tests

* mrz improvements based on cr feedback

* prettier

* fix build errors

* Document browser shim (#859)

* Validate required adapters (#861)

* Use sdkError for web scanner shim (#862)

* Document new workspaces in AGENTS (#864)

* Add client tests (#860)

* Use deep merge for client config (#863)

* Add config merge helper

* format

* Add SDK alpha CI workflow (#865)

* rename

* rename file

* update workflow

* coderabbit feedback and fixes

* fix linter

* fix import paths

* wip fixes

* updates

* fix tests

* formatting

* update workflow

* remove console mocks

* rename folder and fixes

* fix tests

* save wip

* auto format on save for all sdk package files

* fixes

* cr feedback

* fix pipelines
2025-08-09 17:14:56 -07:00
Justin Hernandez
5356b8b5e0 feat: add sdk-alpha package with MRZ helper (#851)
* Add sdk-alpha package with MRZ helper

* chore: add migration report script

* Add lint config and MRZ tests to sdk-alpha

* fix tests

* fixes. wip

* fixes

* fix bundler tests

* fix
2025-08-08 17:14:49 -07:00
Justin Hernandez
95a3ce5f0c Alias app imports: @src, @tests (#852)
* Support @src alias tooling

* run script and nice

* convert ts script to cjs, update sources

* convert to cjs

* wip update paths

* nice and updates

* fix tests alias paths

* lint fixes

* add @tests alias support

* update script and tests to fix remaining src alias paths

* updates

* update script

* fix

* update lock file

* fix test target

* update timeout

* update flow

* fix flow
2025-08-08 15:05:08 -07:00
Justin Hernandez
026fda751b Refine app typings and drop type casts (#850)
* Refine typings and drop casts

* Fix type references

* Remove leftover casts

* format

* fix types

* fix typigns

* fix types. revert nfc method selection changes
2025-08-07 17:38:12 -07:00
Justin Hernandez
d11425393e optimize editor config, improve logging, and add utility functions with tests (#847)
* ignore fixes

* Chore optimize vscode settings (#844)

* optimize

* improve settings

* fix passport data provider race condition and add tests

* abstract test code from production code

* safe json parsing

* Remove noisy console logs (#838)

* Remove noisy console logs

* Restore web stub warnings

* clean up linting issues

* fix tests

* add instantiation test

* Log React errors to Sentry (#835)

* Log React errors to Sentry

* cr feedback and improve tests

* revert provider and add tests

* fix typing

* nice

* cr feedback on tests
2025-08-07 15:34:17 -07:00
Sean Nakamura
bd2a1d3d9a SELF-498: Implement latest DevSettings & CreateMock screens (#778)
* Update nav DevSettingsScreen

* Initial topheader component for mockpassport

* Initial draft of HeroBanner

* Initial FormSection component

* Initial implementation with encryption and nationality sections

* Initial Passport Expires

* Initial OPAC section

* font sizes and color adjustments

* Initial Age section

* Functionality for birthdate via age

* Add age range events

* Remove birthdate section

* Remove advancedMode set encryption section

* Adds new select doc type section

* Update list and mapping for docTypes

* Commit missing icons

* Add select doctype event

* Adds docType to idType form object

* Text adjustments and adds initial caution block

* Add mono font to android and ios

* Reset button and style changes

* Fix plexMono for iOS

* Use dev card and adjust spacing

* Initial Parameter Section componentn

* Initial Buttons for manage documents

* Add scroll view

* Complete migration of select screen section

* Normalize icons rendered in parameter section

* Initial Dangerzone area

* Remove old danger zone and add some spacing

* Add missing closing

* Make mockpassport header black

* Initial private key screen

* Nav to private screen

* Adjust colors, add new screen

* Initial draft of privatekeyscreen

* Ads bug icon

* Return initial route back to original

* Adds key for mapping

* feat: add ScreenSelector component to DevSettingsScreen for enhanced debugging options

* Consolidate date changes

* Remove unneeded import

* Revert deployment_target

* yarn nice for formatting

* Remove unused items

* Fix up types

* yarn nice

* fix typing and tests

* fix import

* remove warning message

* yarn nice

---------

Co-authored-by: seshanthS <seshanth@protonmail.com>
Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-08-07 07:46:14 -07:00
Justin Hernandez
5305ef83fc Feat: Improved import export sorting for app and common (#833)
* save import sorting work

* remove dupe headers and fix type errors

* sort imports and exports

* fix errors from export sorting

* fix tests

* codex feedback

* fix exports

* fix exports and tweak test build

* fix export and format

* fix license headers

* fix app building and clean up test errors

* fix android local e2e test

* improve caching

* final fixes

* remove invalid option

* fix sorting and get random values loading

* fix import sorting
2025-08-06 15:18:42 -07:00
Justin Hernandez
fdb932eeba Feat: Lightweight e2e tests for iOS and Android (#840)
* Add Maestro e2e testing

* Run Maestro flows in parallel

* Fix mobile e2e workflow

* Fix e2e script flow path

* prettier

* fix

* prettier

* standardize yml files and new formatting commands

* fix ndk

* fix exclusions

* use double quotes for yml files

* feedback

* fixes

* fixes

* fix

* fix ios job

* unneeded

* fix workflows

* fix launch workflow

* fix

* fix pipeline

* workflow fixes

* install app to emulators

* better logging

* save current version of test script

* android works. ios wip. update locks

* fix pipelines

* cr feedback

* fix android e2e test

* Split mobile e2e workflow by platform (#842)

* Replace react-native-quick-crypto with @noble/hashes (#841)

* Add tests for ethers polyfills

* Add crypto utils

* Inline crypto polyfills into ethers util

* sort and update gemfile lock

* update lock

* chore: incrementing ios build number for version 2.6.3 [github action]

* android works. ios wip. update locks

* Specify Maestro platform

* Fix Android build step in e2e workflow

* fix android

* update ios

* add concurrency

* update Podfile.lock

* fix android

* prettier

* fix

* fix android pipeline

* try job again

* fix ios

* fix android

* fix ios

* fix command

* use android runner now that path is fixed

* fix android e2e test

* fix adb

* add caching

* fix build

* speed up build

* fix

* test emulator options

* updates

* fix pipeline

* fix

* fix script and move on

* add comment

---------

Co-authored-by: Self GitHub Actions <action@github.com>

* feedback

* fixes

* ignore for now

* ignore

* fix tests

* fix ios simulator booting

* fix ios test

* shutdown after run

* fix ios test

* better timing

* increase ios timeout

* fix both flows

* fix pipeline

* combine command

* fix ios

* break up build steps for better caching

* remove cache

* fix ios and android test pipelines

* update logic

---------

Co-authored-by: Self GitHub Actions <action@github.com>
2025-08-06 12:41:09 -07:00
Justin Hernandez
2ef8248c50 Replace react-native-quick-crypto with @noble/hashes (#841)
* Add tests for ethers polyfills

* Add crypto utils

* Inline crypto polyfills into ethers util

* sort and update gemfile lock

* update lock
2025-08-04 16:05:51 -07:00