Commit Graph

319 Commits

Author SHA1 Message Date
Aaron DeRuvo
ac745bbf8f moves validateDocument functions into the common package. (#977)
* moves validateDocument functions into the common package.

* fix build issues and lint

* handle bad connections better in nullifiier

* add an abort controler to nullifer fetcher,  ignore fals positives

* import types separately

* take it as an arg
2025-08-29 17:28:42 +02: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
75368751a6 Mixpanel tweaks (#971)
* udpates

* fox

* update license
2025-08-27 21:18:50 -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
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
turnoffthiscomputer
cf75bfa0ba update unsupported passport screen (#953)
* update unsupported passport screen

* yarn nice
2025-08-25 22:13:41 +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
Aaron DeRuvo
cc28f072d5 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
2025-08-22 13:25:15 +02: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
76f4980ef6 chore: add script to check import / export type sorting (#900)
* Enforce separate type imports

* chore: enforce separate type exports

* refactor: flatten sdk index exports

* updates

* fix improperly sorted types

* fixes and prettier

* prettier
2025-08-15 10:11:44 -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
07addb2a9a chore: add TypeScript tooling (#891)
* chore: add TypeScript tooling

* chore: remove unused tsconfig and migration script

* update settings

* add knip config

* format

* more reliable circuits tests

* fix workflow

* fix types

* updates

* ts updates

* more updates

* fix upgrade

* fixes
2025-08-13 21:02:07 -07:00
Justin Hernandez
ae5e8ccd0f chore: remove msgpack-lite and pako dependencies (#892) 2025-08-13 18:45:50 -07:00
Seshanth.S🐺
11e2437118 SELF-501: Integrate Loki and Sentry logging (#791)
* feat: implement logger with loki and console transport

* yarn nice

* feat: add logging in Android and iOS modules (native)

* feat: add sentry logs

* chore: add yarn.lock

* update podfile

* feat: intercept and push console.logs to loki

* update podfile.lock

* Remove NativeLoggerBridgeModule.kt and update NFCPassportReader pod version in Podfile

* add podfile.lock

* use seperate queue for NFC logs & lint

* update review comments

* add project.pbxproj and Podfile.lock

* memoize LoggerProvider
2025-08-13 05:58:03 -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
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
Justin Hernandez
82d26669bc Enable tree-shakeable exports (#823)
* Add tree-shakeable exports

* Migrate imports for tree-shakeable paths

* Document ESM extension requirement

* udpates

* install new lock

* yarn nice

* build deps

* save working index export no wildcard approach

* save wip

* fix building

* add tree shaking doc and examples

* sort package json files

* update package.json

* fix analyzing web

* make sure that web is built

* wip tree shaking

* building works again. save wip logic

* use granular imports

* wip test

* save wip

* Remove hardcoded .d.ts files and setup automatic TypeScript declaration generation

- Remove redundant constants.d.ts, types.d.ts, utils.d.ts files
- Add build:types script to automatically generate TypeScript declarations
- Update tsup config to disable DTS generation (handled separately)
- Update .gitignore to prevent future commits of generated .d.ts files
- Fixes import resolution errors in app by ensuring declarations are always generated

* Add .gitignore rules for generated TypeScript declarations

* ignore dts files

* Remove redundant index.js re-export files

- Remove constants.js, types.js, utils.js as they're redundant with tsup build
- These were just re-exports pointing to dist files that tsup generates
- package.json exports already point directly to built files
- Update .gitignore to prevent future commits of these generated files
- tsup handles all the building, no manual re-export files needed

* save current wip fixes

* add tsup config for web building

* common prettier and fix imports

* prettier

* fix tests

* implement level 3 tree shaking

* improve splitting

* optimize vite web building and prettier

* remove comments

* sort export params

* feedback and fix pipelines

* fix circuit-names path

* fix test

* fix building

* sort

* fix building

* allow cursor to edit scripts

* fix loadDocumentCatalog undefined

* fix build settings

* fix build settings

* additional metro tree shaking

* improved discovery script for xcode building

* pr feedback and fix camelCasing

* simplify shim setup

* fix xcode building and add command to test building

* remove comment

* simplify
2025-08-02 16:55:05 -07:00
Seshanth.S🐺
f18f0ac12f fix: add error handling in hasAnyValidRegisteredDocument() (#822) 2025-07-31 00:01:22 -07:00
Seshanth.S🐺
c73fb7ecb6 fix: navigate home (#813) 2025-07-31 07:38:15 +02:00
Justin Hernandez
86656fdca6 Fix lazy loading, web build; revert tree shaking for now (#815)
* Revert "fix yarn web (#814)"

This reverts commit bf158fd977.

* Revert "add hermes ios engine"

This reverts commit f6defcfb12.

* Revert "codex feedback"

This reverts commit df35a47f72.

* Revert "merge with dev"

This reverts commit 47a8d9d2f1.

* Revert "update Gemfile.lock and remove lock when reinstalling"

This reverts commit 5f25752f77.

* Revert "test package update"

This reverts commit 19dcba0e42.

* Revert "revert install cmd changes"

This reverts commit 5427bd12a1.

* Revert "Fix CI build by excluding nokogiri in GitHub Actions/Act environments"

This reverts commit dbff69a13e.

* Revert "prettier"

This reverts commit 87f421456f.

* Revert "fix building"

This reverts commit fbbefd2a3d.

* Revert "optimize path resolving"

This reverts commit 23b1118b8e.

* Revert "fix loading"

This reverts commit f0c884b43b.

* Revert "clean up dupe bundle install"

This reverts commit 5428567bbe.

* Revert "fix metro loading"

This reverts commit 3a766001dc.

* Revert "remove passport provider lazy loading"

This reverts commit 5f793a54b3.

* Revert "allow cursor to edit Gemfile and update lock file"

This reverts commit b6f7158e8e.

* Revert "Update Gemfile.lock to exclude nokogiri in CI environments"

This reverts commit 243640152d.

* Revert "fix install commands"

This reverts commit 2dc7d7c1c9.

* Revert "fix imports and test"

This reverts commit 83d6308029.

* Revert "fix import"

This reverts commit fa42b07ce4.

* Revert "update build checks"

This reverts commit b281f15a16.

* Revert "save updated imports"

This reverts commit 215bca4bee.

* Revert "fix build command"

This reverts commit 37f95bc8fb.

* Revert "build dependencies before linting"

This reverts commit 9e57e017ca.

* Revert "lint suggestions"

This reverts commit ff9b9d2c7c.

* Revert "fix type. more opportunities"

This reverts commit 7ad82d5817.

* Revert "add typing to crypto loader"

This reverts commit d55eec8f44.

* Revert "yarn nice"

This reverts commit df1c2dbd9b.

* Revert "update lock"

This reverts commit 04692ba3b5.

* Revert "cm feedback"

This reverts commit 848071f315.

* fix file name

* fix web loading

* fix border width styling

* fix package commands

* fix import and update lock

* fixes from reverted commits

* more fixes for web building

* fix yarn web:build

* add yarn web:build workflow

* cm feedback

* final fixes

* fix for and vitge

* fix loading
2025-07-30 22:27:49 -07:00
Jayaditya Gupta
9229c76a9b lockfile update 2025-07-29 14:30:16 +05:30
turnoffthiscomputer
1ad2720e50 add event in proving machine (#803) 2025-07-29 08:24:31 +02:00
Justin Hernandez
83d6308029 fix imports and test 2025-07-28 21:54:31 -07:00
Justin Hernandez
fa42b07ce4 fix import 2025-07-28 21:54:31 -07:00
Justin Hernandez
b281f15a16 update build checks 2025-07-28 21:54:31 -07:00
Justin Hernandez
215bca4bee save updated imports 2025-07-28 21:54:31 -07:00
Justin Hernandez
7ad82d5817 fix type. more opportunities 2025-07-28 21:54:31 -07:00
Justin Hernandez
d55eec8f44 add typing to crypto loader 2025-07-28 21:54:31 -07:00
Justin Hernandez
df1c2dbd9b yarn nice 2025-07-28 21:54:31 -07:00
Justin Hernandez
702e5096d5 Implement basic code splitting 2025-07-28 21:54:31 -07:00
Justin Hernandez
4721d12b09 SEL-570: Display user ID in prove screen (#790)
* Display user ID on prove screen

* Add user ID formatting util and tests

* Clarify user ID formatting

* fix nice

* add tests and save toggle wip

* update tests based on feedback

* say connected wallet when wallet
2025-07-25 12:58:33 -07:00
Seshanth.S🐺
186daa655c SEL-566: Navigate Home based on document validity (#768)
* feat: navigate home if atleast one valid document is present

* update comments

* Review: Remove unnecessary continue statement

* feat: add tracking
2025-07-25 10:34:43 -07:00
Justin Hernandez
bf3ef98c9d SEL-269: Update ESLint rules & lock prettier config (#781)
* Update ESLint config and lock prettier config

* Refine ESLint config and fix lint issues

* Apply eslint fixes

* Use socketIo alias (#782)

* move gesture handler

* save wip updates

* fix svg imports

* update tsconfig

* eslint updates

* eslint fixes

* improve ignore folders

* coderabbit feedback

* Fix style prop shorthands (#787)

* Expand view style props

* Expand remaining style props

* update types

* fix pipeline

* fix test env check

* nicer casting

* fix booleans

* update deeplink url handling and make it more robust

* add socket error handler
2025-07-24 21:17:54 -07:00