149 Commits

Author SHA1 Message Date
Justin Hernandez
551067a48e Reorganize mobile app /src and /tests folders (#1357)
* Refactor mobile app utilities into new modules

* prettier

* update lock, feedback from codex

* fix path

* keep some files in utils

* fix tests

* update paths

* remove old docs

* cr feedback

* flatten inefficient paths

* better structure

* update test folder structure

* migrate images

* fix import

* fix Sentry path

* update ignore

* save wip migration

* more updates

* standardize component names

* rename assets

* fix linting

* add barrel exports. final refactor commit

* fix formatting

* fix nav bar

* reduce bundle size

* remove dupe license

* fix test

* fix merge issues

* add refactor doc so we can track what was imporoved

* cr feedback

* feedback
2025-11-20 17:56:44 -03:00
turnoffthiscomputer
3d0e1b4589 feat: 2.9 (#1325)
* 2.9 release

* 2.9 release

* Remove debug console logs from generateTEEInputsRegister function in registerInputs.ts

* parse only the passport data during the dsc step

* Add ReferralScreen and integrate referral functionality
- Introduced ReferralScreen for sharing referral links via messages, WhatsApp, and clipboard.
- Updated navigation to include ReferralScreen in the home stack.
- Added new icons for sharing and messaging.
- Enhanced points utility functions to check user identity document registration and points disclosure status.
- Minor adjustments to existing components for better integration with the new referral feature.

* fix types

* fix font

* fix vertical spacing

* save current abstraction

* clean up linking

* clean up spurious ai slop comments

* add dinot bold font

* minify animations

* update fonts and add placeholder animation

* fix pipelines

* fix order

* Update dependencies and enhance Points component functionality
- Added `@react-native-masked-view/masked-view` and `react-native-linear-gradient` to dependencies for improved UI components.
- Refactored `PointHistoryList` to accept `ListHeaderComponent` and `onRefreshRef` props for better integration with parent components.
- Enhanced `Points` component to manage notification and backup point events, including user feedback through modals.
- Updated navigation to use `PointsNavBar` for a more cohesive user experience.
- Introduced new utility functions for managing incoming points and point event records.

* update lock

* update lock and project settings

* fix line height for android

* save wip referral message fix and deeplink setup

* Fix whatsapp link (#1352)

* add 2 new lines

* use path based param instead of query string

* use staging url for now

* SELF-1089: Fix black screen on Points (#1351)

* Fix black screen on Points

* Fix: black screen on Referral Page

* fix: prevent BlurView from displaying when IdDetailsScreen loses focus

* Fix Android message share (#1355)

* Referral flow (#1354)

* SELF-1139: update getUserAddress() (#1353)

* update getUserAddress()

* rename getUserAddress to getPointsAddress

* [SELF-1098, SELF-1099] polish gratification screen post referrer update history (#1356)

* fix: mark document as registered after restoring secret (#1350)

* update lock

* create useRegisterReferral hook and test

* add referral message test

* save wip register referral flow request

* use register referral from the home screen

* fix typing and sort screens

* fix linting issues

* register poitns and update tests

* use package

* fix tests

* simplify HomeScreen with hooks

* fix tests

* address tests

* abstract points logic, fix types and linting

* add test referral flow hook

* coderabbit feedback: fix refereral logic issues, remove sensitive logs

* move test referral flow button to dev settings screen

* close modal after referring and viewing gratification screen

* fix tests, remove alert, format

---------

Co-authored-by: Seshanth.S <35675963+seshanthS@users.noreply.github.com>

* add gratification bg; use safe bottom padding hook on home screen

* prep 2.7.4 as 2.9.0

* manually bump version for custom deploy

* match version code

* fix types

* formatting

* fix tests

* SELF-1144 - use real points on home screen and improve points screen (#1361)

* fix whitespace

* move effects for fetching points and incoming points to hooks, add items to deps array so that they refresh when we expect points to change.

* cleanup

* Add events for new Points Flow (#1362)

* remove deeplinkCallback from pointsSelfApp. (#1365)

* fix pipelines

* SELF-978: wire cloudbackup with points (#1360)

* wire cloudbackup with points

* wire cloudbackup with points

* Remove redundant setSelfPoints()

* add signature and simplify POST api requests (#1367)

* add signature and simplify POST api requests

* better gitleaks ignore

* update toml

* have gitguardian ignore gitleaks

* add buffer lib

* update api with 202 success code

* update scope and contract-address (#1366)

* fix navigation test

* SELF-915: Setup and add turnkey utils (#1314)

* Setup and add turnkey utils

* update CloudBackupScreen

* fix: turnkey

* add yarn.lock

* lint

* add podfile.lock

* fix deeplink

* fix tests: mock turnkey

* yarn nice

* update .gitleaksignore

* patch react-native-svg

* fix patch-package

* fix lineHeight

* points.tsx: fix lineHeight

* fix: recover with turnkey disabled state

* fix turnkey flow

* fix: address generation

* minify animations (#1368)

* fix pipelines

* fix false positives

* fix gitguardian

---------

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

* enable turnkey only on success

* use prod url

* fix tests and update mocks

* update version and fastlane readme

* pointsSelfApp: update scope

* bump android version to 117

* incremenet timestamp

* abstract points css, hide explore button for now, add points guardrail

* better logic

* simplify point event list data acquisition (#1375)

* simplify point event list data acquisition

* explain

* Remove BlurView in Points.tsx

* Move Points and IncomingPoints to the Point Events Store (#1363)


* add polling for event processing.
atomically update store state

* handle failed states and use real backend api


* improve concurrency reliability of pointevents

* move points to the store


* refresh all points on pull

* add points tracking events

* fix imports

* fix headers

* fix import

* fix misspelling

* enable apps link

* remove __DEV__ logging

* remove additional referall dev mode features

* Add turnkey env

* don't allow users to refer themselves

* prettier

* trim both addresses

* fix close webview button

* fix tests and format

* lint and format

* Update point rewards in NavBar component: change earned points from 20 to 44 and from 100 to 32.

* Refactor point rewards in NavBar component: replace hardcoded values with constants for backup and notification points, and update subscription state variable names for clarity.

* Update POINT_VALUES in types.ts: adjust point rewards for disclosure, notification, and backup events to 8, 44, and 32 respectively.

* App/fix backup points (#1381)

* Enhance backup completion tracking in Points component: Introduce a ref to manage backup check flag, ensuring points are recorded only when explicitly set, preventing false triggers from other navigation flows.

* Update API endpoint in getTotalPoints function: change URL from /distribution to /points for accurate points retrieval.

* formatting

* update points url

* Clear referrer on modal dismiss in useEarnPointsFlow hook to prevent retry loop

* use points private key to sign api requests

* formatting

* save working version of referral confirmation

* fix circular dependency

* don't fetch private key if unable to fetch points key

* add url

* add debug info

* Refactor optimistic points calculation in usePointEventStore: update return value to only include incomingPoints.amount, marking the optimistic approach for future improvement.

* save clean up

* clean useReferralConfirmation logic

* fix tests

* tests pass

* standardize android compile sdk version

* fix package version

* don't log errors

* Update app/src/hooks/useReferralConfirmation.ts

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

* better test

* add turnkey entitlements

* fix linting

* remove entitlements

* prettier and fix lint

* update gradle version

* update lock file

* fix tests

* fix build failure

* bump android version to 118

* update date

* bump version for next build

* address failing pipelines due to cache issues

* Hide turnkey button (#1387)

* prep for 2.9.0 release

* fix mobile e2e test

* fix tests

* bump android version

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
Co-authored-by: seshanthS <seshanth@protonmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-11-11 10:37:05 -08: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
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
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
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
jayssj11
24f8c39f58 test: trigger CI/CD pipeline with harmless comment update (#824)
Testing the auto-deploy workflow after recent fixes
2025-07-31 17:28:32 +08: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
bf158fd977 fix yarn web (#814) 2025-07-30 12:57:06 -07:00
Jayaditya Gupta
9229c76a9b lockfile update 2025-07-29 14:30:16 +05:30
jayssj11
d7afdcf0d1 Test/cicd with permissions (#801)
* fix: add required permissions to mobile-deploy-auto workflow

- Add contents: write and pull-requests: write permissions
- This allows the workflow to call mobile-deploy.yml with proper permissions
- Fixes the startup failure when PR is merged

* test: validate CI/CD pipeline with permissions fix

- Update test comment to trigger build
- This should now work with the fixed permissions
- Expecting deployment to internal track
2025-07-29 14:12:34 +08:00
jayssj11
f3a9d6d193 test: validate CI/CD pipeline deployment (#799)
- Add harmless comment to trigger automated build
- This tests the mobile-deploy-auto workflow
- Should deploy to internal track when merged to dev
2025-07-29 13:59:24 +08:00
Justin Hernandez
5f793a54b3 remove passport provider lazy loading 2025-07-28 21:54:31 -07:00
Justin Hernandez
702e5096d5 Implement basic code splitting 2025-07-28 21:54:31 -07:00
Aaron DeRuvo
2aed84e6a8 SEL-504: fix fonts and some styles (#762)
* fix fonts and some styles

* dry config

* fix some warnings
2025-07-16 11:16:48 +02: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
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
Justin Hernandez
65b5f8a389 Bump build ios 128 android 67 (#601)
* bump build

* update clean commands

* add notification tracking provider, and update provider paths

* request permission for firebase cloud messaging

* since the app asks for permissions, let's enable this after configuring the APN

* remove monorepo building as it doesn't affect app build success

* add flags to expose build issues

* fix hermes path

* fix hermes path for emulator and bundle build
2025-06-07 07:36:06 -07:00
Justin Hernandez
c6c4b35684 SEL-181 & SEL-252: Update mobile app events (#570)
* improve analytics handling

* add error boundary that flushes segment events before error occurs

* upgrade segment analytics package

* flush analytics when user encounters error screen

* track all click events

* add tracking to loading screen

* better init and click event names

* track cloud backup and modal actions

* use __DEV__ for debugging

* add tracking to account recovery, auth, mock data

* return false instead of throwing

* add more tracking events

* save wip event updating

* abstract analytic event names

* update click events

* clean up

* move reasons comment

* add unsupported passport event
2025-05-26 09:08:40 -07: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
Seshanth.S🐺
7e89698e74 feat: Add Disclose history (#533)
* feat: Add Disclose history

* fix: Duplicate history in list

* fix: Outdated disclosures

* Delete app/ios/Self copy-Info.plist
2025-05-02 13:53:27 +02:00
turnoffthiscomputer
0bf324e639 Feat/extend id support (#517)
* refactor proving impleting xstate, speedup proving

* add disclosure proof support

* keep refactoring provingMachine, clean old implementation

* call init method when switching from dsc to register

* rebase with dev to display why the proof verification failed

* refactor ws connexion between front-end and mobile to retrieve self-app

* update the webclient at proofVerification and use selfAppStore in provingMachine

* fix provintStore.init in ProveScreen

* yarn nice

* fetch data correctly in splash screen
2025-04-24 05:55:47 -07:00
Justin Hernandez
3c51feafdf DX: Auto format on save (#526)
* save wip

* use elint instead of prettier to sort imports

* set imports to warn

* sync prettier settigns

* update prettier settings

* save working version

* fix export and disable mobile pipeline for now

* limit auto formatting to the app folder
2025-04-21 22:10:56 +02:00
turnoffthiscomputer
1fce20c573 Sentry (#204) 2025-02-23 06:42:19 +01:00
Aaron DeRuvo
d6882ca7cf remove orientation locker (#140) 2025-02-19 13:44:30 +01:00
Justin Hernandez
99d81d5c92 Feat: Deprecate amplitude, remove unused packages (#126) 2025-02-17 07:50:52 -08:00
turboblitz
4834fb3927 Navigation flow (#122) 2025-02-15 12:16:37 +01:00
Aaron DeRuvo
5f71f9a392 Removes unused functions and state from navigation store. (#114) 2025-02-14 18:44:30 +01:00
Nicolas Brugneaux
6a36b55cb8 feat: backup/restore flow (#81)
Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-02-13 17:40:52 +01:00
turnoffthiscomputer
54ffcb69e4 Update ws merged (#90)
Co-authored-by: thomas-senechal <thomas.senechal@pm.me>
2025-02-12 19:23:51 -08:00
Aaron DeRuvo
f8d238086a Design/topbottom (#85) 2025-02-12 17:03:11 +01:00
Aaron DeRuvo
9c0ec399c4 Proof Flow Improvement (#74) 2025-02-11 17:45:18 +01:00
Justin Hernandez
73421f6a9a Improve UX and DX (#66)
Co-authored-by: Nicolas Brugneaux <nicolas.brugneaux@gmail.com>
2025-02-11 10:08:07 +01:00
Nicolas Brugneaux
d489f04468 feat: recover with phrase (#26) 2025-02-10 14:45:54 +01:00
Justin Hernandez
79142e2d45 Fix home screen header padding (#38) 2025-02-07 06:55:29 -08:00
Nicolas Brugneaux
015b99368b fix: lint (#22) 2025-02-05 11:36:05 +01:00
turboblitz
629dfdad1a Bringing openpassport/main (#19)
Co-authored-by: seshanthS <seshanth@protonmail.com>
Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
Co-authored-by: thomas-senechal <thomas.senechal@pm.me>
Co-authored-by: motemotech <i.am.nicoshark@gmail.com>
Co-authored-by: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com>
Co-authored-by: ayman <aymanshaik1015@gmail.com>
2025-02-05 11:13:52 +01:00
Justin Hernandez
363d0bd0f5 Update project metadata & helpers (#13) 2025-01-31 08:20:09 -08:00
Nicolas Brugneaux
90b0e4a270 Navigation Refactor (#6)
Co-authored-by: Leszek Stachowski <leszek.stachowski@clabs.co>
Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-01-29 17:16:12 +01:00
thomas-senechal
126711d326 First lint and fmt pass
This commit is a first pass of lint and fmt, with a few manual fixes. Only manual issues left to do.
2025-01-06 18:54:46 +01:00
turnoffthiscomputer
0a70d301eb Merge branch 'dev' of https://github.com/zk-passport/openpassport into deeplink 2024-10-21 23:09:12 +02:00
turnoffthiscomputer
2395877220 implement iOS deeplink 2024-10-21 18:38:06 +02:00
0xturboblitz
abfff50f37 bump to react native 75 2024-10-17 19:15:58 -07:00
0xturboblitz
a8206de69e small cleanups 2024-08-27 16:00:57 +08:00
0xturboblitz
44f88341f2 toast light mode colors 2024-08-27 15:48:07 +08:00
turnoffthiscomputer
475181162d update UI/UX 2024-07-23 18:07:38 +02:00
0xturboblitz
a2dfc8e2ad .env.example 2024-06-18 13:28:31 -07:00
0xturboblitz
319ebade38 generating and storing secret, storing passport data securely 2024-05-14 17:10:50 +09:00