Commit Graph

41 Commits

Author SHA1 Message Date
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
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
Justin Hernandez
727310aca4 Add web app render check test (#816)
* Add Playwright build test

* yarn nice

* sort package file

* fix test

* remove playwright dep
2025-07-30 23:21:15 -07: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
Justin Hernandez
83d6308029 fix imports and test 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
Justin Hernandez
13970fb53c Add COSE signature verification tests (#788)
* Update ESLint config and lock prettier config

* Refine ESLint config and fix lint issues

* save wip updates

* eslint updates

* eslint fixes

* Add COSE signature verification tests

* fix tests
2025-07-24 21:47:59 -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
Justin Hernandez
f739fedd82 Remove failing version test (#780)
* remove version check test

* remove test all together
2025-07-21 22:29:13 -07:00
Aaron DeRuvo
252f1ba1ef Start of Web App (#689) 2025-07-11 14:07:40 +02:00
Justin Hernandez
9dcbdd3b9e Add thorough test cases for mobile app (#752)
* Add actor mock helper and tests

* format tests

* fix tests

* Revert non-app tests

* update tests

* fix tests

* coderabbit feedback

* revert change

* remove spurious tests
2025-07-06 21:12:28 -07:00
Justin Hernandez
a651fddf37 Add proving machine tests (#749)
* Add actor mock helper and tests

* format tests

* fix tests

* wip fix tests

* address cr feedback
2025-07-06 20:00:13 -07:00
Justin Hernandez
37863c8773 Extend platform build file tests (#748)
* Add build file tests

* cr feedback
2025-07-06 18:56:27 -07:00
Justin Hernandez
f98beea498 SEL-496: Add Firebase Remote Config and dev feature flag screen (#735)
* feat: add remote config support

* update lock

* tweak config logic. add feature flag viewing screen

* add tests

* allow for local overriding of feature flags

* save local override work

* save wip

* clean up ui

* update screen to handle multi value types

* fix tests

* cr feedback and fix tests

* remote config upates. fix tests, codex feedback
2025-07-05 17:29:26 -07:00
Justin Hernandez
c3c1ecfe47 Bugfix: android deeplinks (#742)
* bugfix: deep linking

* add android manifest test

* bump build and version

* format readme
2025-07-05 04:31:42 -07:00
Justin Hernandez
f77cd80663 Temporarily disable recovery redirect and reminder prompts (#733)
* Revert "SEL-487: Prompt user to backup recovery phrase before registering (#715)"

This reverts commit fe14ac655e.

* revert update

* fix safe area context pkg

* Revert "SEL-487: Prompt user to backup recovery phrase before registering (#715)"

This reverts commit fe14ac655e.

* fix old flow

* more silent tests

* update lock files

* hard code return
2025-07-03 11:01:43 -07:00
Justin Hernandez
fe14ac655e SEL-487: Prompt user to backup recovery phrase before registering (#715)
* feat: prompt backup before registration

* coderabbit feedback

* fix tests

* coderabbitai feedback and fix tests
2025-06-30 17:00:29 -07:00
Justin Hernandez
cf2405254e Bugfix: Show recovery prompt only when user has docs (#714)
* feat(app): prompt recovery only when docs exist

* cr feedbacl
2025-06-30 14:59:32 -07:00
Justin Hernandez
e3c7df9a83 Chore: ensure there is an extra empty line after the license declaration (#712)
* ensure there is an extra empty line after the license declaration

* ignore adding header to cjs config files

* add missing license header

* ignore linting metro config
2025-06-29 23:26:41 -07:00
Justin Hernandez
180aeeca71 SEL-483: Implement recovery backup prompts (#710)
* feat: prompt users to back up account

* feat: prompt users to back up account

* format

* Add tests for recovery prompt logic

* more lint updates

* fix imports

* fix unused import

* update cursor suggestions

* implement coderabbit suggestions and fix tests
2025-06-29 21:53:51 -07:00
Justin Hernandez
a7e8e903d6 SEL-330: Add backup check after verification (#711)
* route to save phrase if backup disabled

* format
2025-06-29 19:56:52 -07:00
Justin Hernandez
e9c9e1a64b Fix navigation serialization warnings (#702)
* test: cover modal callbacks

* coderabbit feedback
2025-06-29 13:30:19 -07:00
Justin Hernandez
3eb4a198ad Abstract iOS cloud backup logic (#701)
* feat(ios): abstract cloud backup logic

* prettier and cr feedback

* tested on iOS and android and functionality is the same
2025-06-29 09:30:52 -07:00
Justin Hernandez
5435190199 SEL-444: Fix android cloud backup (#697)
* feat(android): migrate google backup

* update lock and google services config

* add bulk format command

* backup fixes

* working drive settings!!!!!!!!

* remove unneeded intent filter

* add tests

* coderabbit feedback

* coderabbit feedback

* abstract google method

* coderabbit feedback and fix test

* more coderabbit suggestions and tests fixes
2025-06-29 02:54:07 -07:00
Eric Nakagawa
4d4efffe5a Apply BSL to app codebase (#639)
* Clean up root license wording

* Simplify SPDX header

* simplify license and rename BSL to BUSL

* fix merge issues

* fix missing method

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-06-23 21:47:53 -07:00
Justin Hernandez
60bfe4387c Apply BUSL v1.1 license headers to app (#665)
* Add BSL license headers to app sources

* prettier

* fix license reference - https://spdx.org/licenses/BUSL-1.1.html
2025-06-23 13:44:01 -07:00
turnoffthiscomputer
7a8678b72d add euid support in app (#559)
* add euid support in app

* yarn nice

* add euid support to proving machine

* update provingMachine and add id endpoints

* fix circuitsDNSmapping

* fix proving

* fix validateDocument

* add todo comment

* add the skip PCR0 option

* set multiple passportData types

* allow storing different id documents

* fix wording

* use goback on the passportOboardingScreen

* update tamagui version

* update yarn.lock

* remove logs in mockdata screen

* remove SKIP_PRC0_CHECK const

* refactor passport data keychain storage

* update project.pbxproj

* yarn nice

* yarn nice

* fix imports

* yarn nice

* add ManageDocuments screen to tests

* update name of the ManageDocument screen in the settings

* run linter in common repo

* clean mrz before doing the length check on android
2025-06-11 13:19:49 -07:00
Seshanth.S🐺
2a7562216c feat: Add PACEPolling (#577)
* feat: Read ID cards

* add entitlements

* feat: add pacePolling through NFCPassportReader

* refactor: comment out debug print statements

* feat: add mixpanel logging

* feat: add NFC Method selection screen

* fix: UI issue

* feat: update Podfile and include PassportReader.m file

* lint

* fix: test

* debug: log mixpanel values

* fix: update dep

* update NFCPassportReader commit hash

* feat: add flag to enable debug logging

* lint
2025-06-04 15:53:04 +02:00
Justin Hernandez
e059f06e84 Bump v2.5.1: ios 122; android 60 (#561)
* increment build to 120

* bump builds for 2.5.1. ios 121; android 60

* clean up logic

* upgrade react native firebase for privacy manifests
2025-05-16 13:15:35 -07:00
Justin Hernandez
3f3db3c8da SEL-255: improved loading screen with estimated wait times (#550)
* create new loading screen and rename static to misc

* fix route

* save wip loading screen

* save wip animation

* save static wip design

* continue

* splash

* add a loading screen text helper

* add test for loading screen text

* save wip. almost there

* update haptic logic

* better feedback and add dev scren

* save current work

* update text logic and tests

* load passport metadata in loading screen

* simplify and fix tests

* test for additional exponents

* add new animation

* rename file

* consolidate ui useEffect and fix loading screen layout

* fix current state

* remove mockPassportFlow param

* merge new loading screen and new notification logic

* simplify

* update lock

* use passportMetadata instead of metadata

* save simplification

* update loading text based on pr feedback and tests
2025-05-16 09:45:56 -07:00
nicoshark
3db25aa469 Push notification (#536)
* add push notification feature

* merge new app impl

* change dsc key

* import

* reverse mock dsc

* worked in the ios

* checked in android

* update url and delete console

* delete small changes

* lint

* add yarn.lock

* fix warning message

* add mock notification service for test code

* fix path for the mock implementation

* add mock deeplink to the test code

* nice notificationServiceMock.js

* delete unused firebase related implementation

* fix wording and UI related to notification service

* hotfix on mockdatascreen

---------

Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
2025-05-15 23:46:21 +02:00
Justin Hernandez
a08904b50c Clean up navigation and setup Jest (#549)
* remove dupe account screens and prefer the term home

* organize screen loading better

* sort keys

* rename screen files wip

* fix deleted directory issues

* rename folders

* fix paths and naming

* save working jest import test

* save base working jest navigation test

* finalize navigation refactor and jest test

* update test name and podfile lock

* remove unused packages

* use the correct version of react test renderer
2025-05-09 10:17:12 -07:00