Commit Graph

134 Commits

Author SHA1 Message Date
Justin Hernandez
a1b04f2b03 chore: enable SumSub Fisherman device intelligence with privacy compliance (#1714)
* clean up permissions

* updates for permissions

* update permissions and packages

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

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

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

* remove for now

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 12:08:08 -08:00
Evi Nova
73ca37f3b9 Feat/add logo confirmation screen (#1666)
* feat: initial logoConfirmation screen

* fix: center text in buttons

* fix: ensure biometric logo is not cropped

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

* feat: add popup to logo confirmation screen

* fix: handle Sumsub cancellation correctly in Other ID flow

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

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

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

* feat: add KycConnectionErrorScreen for sumsub_initiation error

* refactor: edit RegistrationFallbackScreen for new design

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

* refactor: update AadhaarUploadErrorScreen for new design

* fix: removed unused countryCode variable and useRoute import

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

fix CI

* chore: lint/prettier

* fix: CI error

* refactor: Split RegistrationFallbackScreen into MRZ/NFC error versions

* feat: add link from RegistrationFallbackNFCScreen -> DocumentNFCTrouble

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

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

* chore: yarn prettier

* test: fix failing test for CI
2026-02-06 22:27:50 +10:00
Justin Hernandez
7acc9bb2a6 chore: fix failing mobile demo ios e2e tests (#1710)
* fix failing mobile demo ios e2e tests

* temp test

* add patch. update files

* run demo e2e patch

* sort package json

* disable running on dev
2026-02-05 13:15:05 -08:00
Justin Hernandez
b3d40d791a SELF-1951: prep for sumsub release (#1680)
* enable sumsub in mobile sdk

* refactor dev settings screen

* combine sections

* agent feedback

* gate kyc button on troubel screens

* inline simple sections
2026-02-03 13:29:16 -08:00
Evi Nova
ebdc639c88 fix: resolve issue from losing connection mid proof verifcation (#1627)
* fix: resolve issue from losing connection mid proof verifcation

* fix: properly clean up socket resource to prevent memory leak

* fix: proper memory leak fix + have both proactive/reactive reconnection

* fix: reset scroll state on QR scans and improve WebSocket reconnection handling

* chore: yarn fmt
2026-02-03 08:00:19 +10:00
Justin Hernandez
a96777d80a ux: add country document json info as static asset (#1670)
* add country document json info as static asset

* add staleness test

* update test

* formatting
2026-01-30 10:25:51 -08:00
Justin Hernandez
c7c9985d91 SELF-1889: Initiate Sumsub during onboarding error flows (#1662)
* integrate sumsub into error flows

* formatting

* fix test

* format

* clean up

* udpate flows

* agent feedback

* updates

* save wip updates

* clean up design

* updates

* lint

* agent feedback

* formatting

* fix
2026-01-28 20:10:50 -08:00
Justin Hernandez
8da076cf0d Bump Babel, TypeScript, React Native and assorted dependencies; refresh lockfile (#1606)
* Update dependency versions

* Fix gesture handler Android dependency (#1611)

* Patch screens codegen type (#1609)

* Downgrade Sentry React Native (#1612)

* fix patches and packages

* downgrade versions for gesture handler and screens

* agent feedback

* fix ios building

* allow ios tets to pass

* formatting

* make cache more resilient

* Address CodeRabbitAI review comments

This commit addresses all 7 unresolved CodeRabbitAI comments on PR #1606:

Patch-package error handling (comments #1, #2, #3):
- stderr capture already implemented in both root and workspace patch runs
- Add CI warning when patches fail silently instead of exiting with 0
- Log completion status in CI mode for visibility

Critical Mixpanel dependency fix (comment #5):
- Add explicit Mixpanel-swift pod declaration to fix E2E build failures
- Ensures Mixpanel is available even when NFCPassportReader is skipped during E2E testing

React-native-web validation (comment #4):
- Verified no usage of deprecated findNodeHandle, pointerEvents: 'box-none', or createPortal
- Safe to upgrade from 0.19 to 0.21.2

CI workflow improvements (comments #6, #7):
- Create cache-sdk-build composite action for consistent SDK build artifact caching
- Replace all direct actions/cache@v4 usage with cache-yarn composite action
- Replace all direct actions/cache/restore@v4 and save@v4 with cache-sdk-build
- Add nested require() validation step before tests to fail fast on problematic patterns

All changes follow repository coding guidelines for CI caching and test memory optimization.

* Extend cache composite actions to all SDK workflows

This commit extends the caching standardization from PR #1606 to include
mobile-sdk-ci.yml and core-sdk-ci.yml workflows.

New composite actions created:
- cache-mobile-sdk-build: For mobile SDK build artifacts
- cache-core-sdk-build: For core SDK build artifacts

Workflow updates:
- mobile-sdk-ci.yml: Replaced 5 instances of direct actions/cache with cache-mobile-sdk-build
- core-sdk-ci.yml: Replaced 4 instances of direct actions/cache with cache-core-sdk-build

All SDK CI workflows now use consistent caching patterns via composite actions,
following the AGENTS.md guideline: "Use shared composite actions from .github/actions
for CI caching instead of calling actions/cache directly."

Benefits:
- Consistent caching across all SDK workflows (qrcode, mobile, core)
- Centralized cache configuration - easier to maintain
- Follows established patterns from qrcode-sdk-ci.yml

* downgrade react-native-svg

* update pod lock file

* sort
2026-01-28 12:47:32 -08:00
Leszek Stachowski
80d9e2d625 [SELF-1891] feat(kyc): Other IDs button (#1660)
* feat(kyc): Other IDs button

* trigger sumsub flow directly from event listener

* formatting

* formatting

* add todo

* add feature flag

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2026-01-27 14:03:36 -08:00
Justin Hernandez
3f2fb1159c Update mobile sdk test config to fix test running (#1635)
* fix mobile sdk tests

* fix mobile sdk tests
2026-01-21 15:38:14 -08:00
Nesopie
e77247f372 Feat/kyc (#1623)
* feat: selfrica circuit and tests

* chore: remove unused code

* feat: test for ofac,date and olderthan

* fix: public signal constant

* feat: add contract tests

* feat: helper function to gen TEE input

* feat: gen circuit inputs with signature

* feat: seralized base64

* fix: DateIsLessFullYear componenet

* feat: register circuit for selfrica

* feat: selfrica disclose circuit and test

* fix: common module error

* feat: add more test and fix constant

* fix: commitment calculation

* feat: selfrica contracts

* test: selfrica register using unified circuit

* feat: register persona and selfrica circuit

* feat: selfrica circuit and tests

* chore: remove unused code

* feat: test for ofac,date and olderthan

* fix: public signal constant

* feat: add contract tests

* feat: helper function to gen TEE input

* feat: gen circuit inputs with signature

* feat: seralized base64

* fix: DateIsLessFullYear componenet

* feat: register circuit for selfrica

* feat: selfrica disclose circuit and test

* fix: common module error

* feat: add more test and fix constant

* fix: commitment calculation

* feat: selfrica contracts

* test: selfrica register using unified circuit

* feat: register persona and selfrica circuit

* refactor: contract size reduction for IdentityVerificationHubImplV2

export function logic to external libs, reduce compiler runs to 200, update deploy scripts to link new libs

* feat: disclose circuit for persona

* feat: update  persona ofac trees

* feat; register circuit for selfper

* feat: disclose test for selfper

* chore: refactor

* chore : remove unused circuits

* chore: rename selfper to kyc

* chore: update comments

* feat: constrain s to be 251 bit

* feat: add range check on majority ASCII and comments

* feat: range check on neg_r_inv

* chore: remove is pk zero constrain

* merge dev

* feat: add registerPubkey function to Selfrica with GCPJWT Verification

* test: add testing for GCPJWT verification on Selfrica

* fix: script that calls register_selfrica circuits (ptau:14 -> ptau:15)

* fix: get remaining Selfrica tests working with proper import paths

* refactor: store pubkeys as string

also add some comment code for registerPubkey function

* refactor: remove registerPubkeyCommitment function

some tests now skipped as awaiting changes to how pubkeys are stored (string instead of uint256)

* feat: use hex decoding for the pubkey commitment

* test: adjust tests for pubkey being string again

* fix: remove old references to registerPubkey

* docs: add full natspec for IdentityRegistrySelfricaImplV1

* docs: update files in rest of the repo for Selfrica attestation type

* test: fix broken tests

* fix: builds and move to kyc from selfrica

* fix: constrain r_inv, Rx, s, T

* feat: eddsa

* feat: add onlyTEE check to registerPubkeyCommitment

onlyOwner is able to change onlyTEE

* refactor: update gcpRootCAPubkeyHash to be changeable by owner

* feat: add events for update functions

* style: move functions to be near other similar functions

* fix: kyc happy flow

* fix: all contract tests passing

| fix: timestamp conversion with Date(), migrate to V2 for endToEnd test, scope formatting, fix register aadhaar issue by using block.timestamp instead of Date.now(), fix changed getter function name, enable MockGCPJWTVerifier with updated file paths, add missing LeanIMT import, fix user identifier format

* audit: bind key offset-value offset and ensure image_digest only occurs once in the payload

* fix: constrain bracket

* chore: update comment

* audit: hardcode attestation id

* audit: make sure R and pubkey are on the curve

* audit: ensure pubkey is within bounds

* fix: all contract tests passing

* feat: change max length to 99 from 74

* audit: don't check sha256 padding

* audit: check the last window as well

* audit: single occurance for eat_nonce and image_digest

* audit: check if the certs are expired

* audit: add the timestamp check to the contract

* audit: make sure the person is less than 255 years of age

* audit fixes

* chore: yarn.lock

* fix: build fixes

* fix: aadhaar timestamp

* lint

* fix: types

* format

---------

Co-authored-by: vishal <vishalkoolkarni0045@gmail.com>
Co-authored-by: Evi Nova <tranquil_flow@protonmail.com>
2026-01-19 15:54:37 +05:30
Justin Hernandez
f8179c92ba agent feedback (#1614) 2026-01-14 15:47:41 -08:00
Justin Hernandez
27672e52f6 Add document processor behavior tests (#1599)
* Add document processor integration tests

* fix types
2026-01-13 11:16:17 -08:00
Justin Hernandez
9f5171f21e Add proving machine refactor guardrail tests (#1584)
* Add proving machine refactor tests

* Clarify refactor guardrail test intent

* Add Socket.IO status handler wiring tests for proving store (#1586)

* Add status handler listener tests

* Fix failure status test payload

* Add hello ack uuid test (#1588)

* formatting

* format, agent feedback

* delete mock mock tests
2026-01-12 11:29:57 -08:00
Justin Hernandez
3ce1f26898 SELF-1754: polish for document selection for proving flow (#1570)
* change spinner color

* fix disclosure scroll feedback

* fix type error

* fix button scrolling logic

* make the connected wallet static

* fix hold to verify button feedback timing

* formatting

* clean up tex
2026-01-09 23:52:36 -08:00
Seshanth.S
e1d06b5b13 Feat: keychain modal (#1564)
* feat: show Modal on keychain error

* update message

* yarn fmt

* fix tests

* fix ci
2026-01-09 21:59:02 -08:00
Justin Hernandez
850e3b98f9 SELF-1754: Implement selective disclosure on Proving Screen (#1549)
* add document selector test screen

* clean up mock docs

* update selection options

* Add DocumentSelectorForProving screen and route proof flows through it (#1555)

* Add document selector to proving flow

* fix formatting

* improvements

* redirect user to document not found screen when no documents

* option flow tweaks and tests

* wip tweaks

* fix scrollview bottom padding (#1556)

* tighten up selection text

* create inerstitial

* save wip

* remove not accepted state

* save wip design

* formatting

* update design

* update layout

* Update proving flow tests (#1559)

* Refactor ProveScreen to ProofRequestCard layout and preserve scroll position (#1560)

* Refactor prove screen layout

* fix: amount of hooks rendered needs to be the same for all variants

* long URL ellipsis

* keep titles consistent

* lint

---------

Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>

* wip fix tests

* fix tests

* formatting

* agent feedback

* fix tests

* save wip

* remove text

* fix types

* save working header update

* no transition

* cache document load for proving flow

* save fixes

* small fixes

* match disclosure text

* design updates

* fix approve flow

* fix document type flash

* add min height so text doesn't jump

* update lock

* formatting

* save refactor wip

* don't enable euclid yet

* fix tests

* fix staleness check

* fix select box description

* remove id selector screen

* vertically center

* button updates

* Remove proving document cache (#1567)

* formatting

---------

Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>
2026-01-09 13:56:10 -08:00
Justin Hernandez
6c420c2b76 Refine mobile SDK constants re-exports (#1551)
* Clarify constants re-exports

* Adjust constants export mapping

* agent feedback. sort all the tings
2026-01-07 10:28:09 -08:00
Justin Hernandez
43fb39d3d4 SELF-1680: Starfall mobile push notifications (#1548)
* move to personal mcp

* add new nova pin screen

* rename screen

* update nova route

* unblock local dev building

* rename nova to starfall

* move to dev dependency

* move to dependencies

* add correct package

* save wip

* save wip

* save wip fixes

* rename self logo

* fix screen logos

* fix order

* add starfall api to fetch push notification code

* agent feedback

* fix tests, minor agent feedback

* abstract component

* rename topic

* re-add button props

* fix linting
2026-01-05 20:17:28 -08:00
Justin Hernandez
6172497abf chore: upgrade yarn to 4.12.0 (#1530)
* use yarn 4.12.0

* upgrade tsx

* update 4.6.0 references to 4.12.0

* update lock file

* update lock file

* update lock
2025-12-25 12:12:38 -08:00
Justin Hernandez
7dbd46f245 Add docstring reporting script and workflows (#1333)
* Trim docstring coverage snapshots

* format all the tings

* update lock

* Update docstring coverage snapshots (#1521)

* docstring fixes

* address agent feedback

* update lock files

* address agent feedback

* lock react-native-svg version to prevent pipeline failures

* update docstring logic

* remove docstring coverage from ci

* remove old report, fix cursorignroe rule
2025-12-25 11:17:42 -08:00
Javier Cortejoso
2a092f5571 chore: Using Namespace.so for MacOS Runners (#1500)
* chore: update CI workflows to include Java setup and modify runner environments

- Added Java installation checks and setup steps to multiple CI workflows to ensure Java is available for builds.
- Changed runner environments for iOS builds from `macos-latest-large` to `namespace-profile-apple-silicon-6cpu` for better resource management.
- Updated push triggers for CI workflows to include specific branches and paths for more controlled execution.

* refactor: streamline AES-GCM encryption tag validation in encryptAES256GCM function

- Removed redundant checks for the AES-GCM authentication tag, simplifying the code while maintaining functionality.
- Updated the return structure to directly convert the authentication tag to a binary format, enhancing clarity and efficiency.

* chore: add Actionlint configuration for custom runner labels

* chore: update mobile deployment workflows for testing configuration

* chore: included a step to set the INSTALL_JAVA environment variable to false

* chore: update logging in setup-native-source script for improved debugging

* chore: simplify mobile CI workflow by removing redundant iOS and Android build steps

- Removed extensive iOS and Android build steps from the mobile CI workflow, as build verification is now handled by the mobile-e2e.yml workflow.

* chore: update mobile workflows to remove push triggers for improved clarity

- Removed push triggers from mobile CI, E2E, and bundle analysis workflows to streamline execution and focus on pull request events.
- This change enhances workflow clarity and reduces unnecessary runs on branch pushes.

* Revert "chore: simplify mobile CI workflow by removing redundant iOS and Android build steps"

This reverts commit 30d5f585c2e7d74355452d4a4a2bd809c378c983.

* Updated the conditions for running iOS and Android build jobs to only trigger on workflow dispatch events, reducing unnecessary executions.

* chore: enhance mobile CI workflows with push triggers for improved execution control

- Added push triggers for dev, staging, and main branches in mobile bundle analysis, E2E, and demo E2E workflows to ensure builds are triggered on relevant changes.
- Included conditions for running iOS E2E tests based on issue comments, allowing for more flexible testing workflows.

* Addind workflow_dispatch option

* chore: refine mobile E2E workflows by removing issue comment triggers

- Eliminated issue comment event triggers from mobile E2E workflows to streamline execution and focus on workflow dispatch and push events.
- This change enhances clarity and reduces unnecessary complexity in the CI process.

* chore: remove checkout action from npm publish workflow

- Eliminated the checkout action from the npm publish workflow to streamline the process and reduce unnecessary steps.
- This change aims to enhance the efficiency of the CI pipeline.
2025-12-22 17:15:37 +01:00
Justin Hernandez
a6194665ec SELF-1572: Update document scan prompt (#1511)
* Update document scan prompt

* formatting

* fix scan instruction location

* use helper for title text
2025-12-16 14:43:45 -08:00
Leszek Stachowski
35fdc69117 CountryPickerScreen: remove info icon (#1515) 2025-12-16 14:09:13 -08:00
Seshanth.S
f54c668274 SELF-1645: Disable Verify button for expired documents (#1497)
* Disable Verify button for expired documents

* coderabbit feedbacks
2025-12-15 13:06:09 +01:00
Aaron DeRuvo
198297e96e SELF-1554 : Fix Country Picker (#1492)
* country picker is always euclid.

* track when users press the info icon
2025-12-12 17:13:26 +01:00
Javier Cortejoso
4b09e5b96f Remove personal access token (#1481)
* Refactor NFC scanner tests to use a global variable for platform OS, allowing dynamic switching between iOS and Android during tests. This change improves test isolation and avoids hoisting issues with jest.mock.

* feat: add GitHub App token generation action for self repositories

- Introduced a new action to generate GitHub App tokens for accessing repositories within the selfxyz organization.
- Updated multiple workflows to utilize the new action for token generation, ensuring secure access to private repositories during CI processes.
- Modified Podfile and scripts to support authentication using the generated token, enhancing the cloning of private modules in CI environments.

* chore: enhance CI workflows with Git authentication for CocoaPods

- Updated multiple CI workflows to include a step for configuring Git authentication for CocoaPods, ensuring secure access to private repositories without embedding credentials in URLs.
- Added masking for sensitive tokens in logs to enhance security during CI processes.
- Modified the Podfile to avoid printing authentication details in CI logs, improving overall security practices.

* chore: enhance CI workflows with optional Git authentication configuration

- Added new inputs to the GitHub action for generating GitHub tokens, allowing optional configuration of a ~/.netrc entry for Git authentication.
- Updated multiple CI workflows to utilize the new configuration, improving security and simplifying access to private repositories during builds.
- Removed redundant Git authentication steps from workflows, streamlining the CI process while maintaining secure access to necessary resources.

* chore: update Podfile for secure Git authentication in CI

- Modified the Podfile to enhance security by avoiding the embedding of credentials in URLs for accessing the NFCPassportReader repository during CI processes.
- Added comments to guide developers on using workflow-provided authentication methods, improving overall security practices in the project.
2025-12-12 12:38:23 +01:00
Aaron DeRuvo
fc82b6b2b3 Prepares app for Euclid (#1473)
* setup IS_EUCLID build variable for conditionally using euclid desgins
create a headless header that only handles the status bar, for the new screens since they manage their own
make sure new screens get proper insets
add recoveryphrase 3.0
fix country picker



* this lint runs twice. once in repo wide lint and once here. so lets just run once to save resources



Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-09 12:56:05 +01:00
Seshanth.S
f0fe69d23f SELF-1177 - Separate button states during backup (#1402)
* AccountRecoveryChoiceScreen: seperate button states

* clean up logging

* improve analytics

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-05 12:15:22 +05:30
Justin Hernandez
967ce31cc9 Use eslint to run prettier (#1463)
* sort packages

* consolidate prettier under eslint fix

* lint and lock files
2025-12-03 07:04:01 -08:00
Leszek Stachowski
f2d2d821c2 DocumentCameraScreen copy changes (#1414)
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-02 21:10:21 -08:00
Justin Hernandez
71a6b49140 small collection bugfixes for two point nine (#1446)
* fix addhaar typo

* consolidate mobile app links and add tests

* fix caching issues for pipelines

* fix gitleaks

* update binary merkle root.circom package source

* fix cache

* update path

* rename lockfile

* fix qrcode error

* fix mobile ci tests and prettier

* fix qr code typing

* fix qrcode pipelines

* fix integration test
2025-12-02 13:03:50 -08:00
Aaron DeRuvo
7899c239cc Three/country picker (#1448)
* use 3.0 country picker

* get blurview working in app
add navigation adapter to sdk
render

* fix fonts and double view registration issues

* dont need this script as we use peer deps now

* fix our package installs





* prayed to the false idol of claude to resolve installing anon-aadhar from a specific commit from a monorepo

* fix route types


* add peer deps to demo

---------

Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-01 16:08:09 +01:00
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
Seshanth.S
e4cdb125b0 SELF-1262:Hotfix/hide unregistered document (#1423)
* hide unregistered documents

* redirect to 'Home' instead of 'Launch'

* RecoverWithPhraseScreen: wrap restoreAccount in try-catch

* Revert "RecoverWithPhraseScreen: wrap restoreAccount in try-catch"

This reverts commit e53b5630ca.

* RecoverWithPhraseScreen: wrap restoreAccount in try-catch

* update lock

* fix types

* bump version

* remove launch screen

* update bundle version

* add new events

* fix nested react requires

* fix heavy tests

* address fake mocks

* fix test

* address codex and coderabbit logic conceners

* fix linting

* remove last borked react test

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-11-18 21:04:09 -03:00
Justin Hernandez
6c28bbd576 Update agents.md files to protect against out of memory tests (#1395)
* memory and test reminders

* clean up migration docs

* format
2025-11-11 15:53:38 -08: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
77b063c5ed minify animations (#1368) 2025-11-07 14:33:18 -08:00
Justin Hernandez
ccb9e148be App polish for 2.9 rd1 (#1359)
* add useSafeBottomPadding

* add bottom padding to dev screen

* use safe bottom padding

* skip uploading if building android bundle locally

* fix tests

* cache fix script

* clean up country picker, fix font color

* sort package jsons, add watcher for mobile sdk

* formatting

* only bump versions for successfull builds

* move all css

* cleaner script

* kill watchers before starting new one
2025-11-07 10:26:08 -08:00
Justin Hernandez
337d376a05 bugfix: confirm belonging screen bottom padding (#1348)
* fix confirm belonging screen bottom padding

* simplify
2025-11-04 12:56:49 -08:00
Justin Hernandez
2e51e268df SELF-1000: address passport data not found issue (#1329)
* update lock files

* use isUserRegisteredWithAlternativeCSCA

* update lock

* fix building release version

* aadhaar fix for public keys

* fix aadhaar check and add tess

* fix test types

* fix mocked data

* coderabbit feedback

* update tests and remove cruft

* update lock and aar file

* fix script and building aar file, add assets for recovery
2025-10-30 10:53:23 -07:00
Seshanth.S
553b82b51b fix: ios symlink (#1327)
* fix: ios symlink

* replace ios symlinks with files
2025-10-29 18:18:25 +05:30
Justin Hernandez
3bacfcfe4b chore(mobile-sdk): enhance type definitions and API documentation (#1330)
* chore: stop tracking docstrings report

* lint and prettier

* fix circular dependency issue and update docstrings

* add warnings
2025-10-28 22:28:33 -07:00
Leszek Stachowski
7197545985 Bump up mobile-sdk-alpha version (#1324) 2025-10-27 13:25:28 +01:00
Aaron DeRuvo
8863178077 SELF-701: Setup AlphaAlpha Publishing for mobile sdk (#1296)
* setup publishing

* tag it as prerelease

* Apply suggestion from @coderabbitai[bot]

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

* Apply suggestion from @coderabbitai[bot]

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

* Apply suggestion from @coderabbitai[bot]

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-10-24 15:26:10 +02:00
Aaron DeRuvo
2337eb30f1 Confirm Identification Screen + animation json dist setup (#1306)
* refactor confirm screen

* refactor

* setup animations and confirm-identification screen

* linty

* fix jest tests

* reverse attempts to fix web build. skip web build for now since its not used anyway

* dont code split in a library

* cleanup config for build based on what is actually used in sdk
2025-10-24 15:22:44 +02:00
Justin Hernandez
077dcc47b4 [SELF-830] feat: demo app nfc scanning (#1236)
* save wip demo app nfc scanning

* save wip

* fix types

* Fix Android NFC scanning in demo app (#1241)

* fix tests

* fix pipelines

* fix linting

* WIP move to flows/onboarding/scan-nfc

* prettier and fix test

* fix test

* update lock

* update deps

* Feat/android prebuilt modules (#1292)

* move entire screen

* remove redundancy in components and utils

* fixes

* lint

* ignore

* remove unneeded

* fix imports

* remove unused

* Update packages/mobile-sdk-alpha/src/types/events.ts

Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>

* uuid not needed for demo app

* android: update ci check

* timeout fix, image temp fix

* prettier fix

* try rebuild deps every time

* Temporarily disable cache check in CI

* Revert "try rebuild deps every time"

This reverts commit a5c97210a5.

* ignore false positive

* Revert "Revert "try rebuild deps every time""

This reverts commit 4f44615fd6.

* fix?

* sanitize error message first

* remove TODO that has been taken care of

* MSDK: add ios prebuilts (#1308)

* add ios prebuilt

* remove outdate readme

* remove duplicates

* comment out unused

* add prettier ignore

* Update .gitguardian.yml to ignore iOS frameworks and build artifacts

* update gitguardian ignore paths

* migrate config version

* add ignored-matches

---------

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

* remove duplicated code

* exclude mobile-sdk native modules when `E2E_TESTING` flag is set

* app: disable ios msdk auto-linking

* add E2E_TESTING flag

---------

Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz>
Co-authored-by: seshanthS <seshanth@protonmail.com>
Co-authored-by: Seshanth.S <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co>
2025-10-23 23:14:32 +05:30
Aaron DeRuvo
6ff50ae987 SELF-928: get nav between screens happening. (#1299)
* get nav between screens happening. demo app onboaring flow now works

* fix ci

* coder  rabbit

* fix multi listern issues
2025-10-20 17:12:41 +02:00
Leszek Stachowski
757ac58995 Move DocumentCamera screen to the SDK (#1287) 2025-10-17 00:11:30 +02:00
Aaron DeRuvo
5d04870b36 Move Country and ID Picker and more (#1286)
* update fonts

* move haptics

* fix sorting isues

* dynamic import of peer dependency seems wise


* moves Country Picker Screen

* remove unused and incorrect countryname from doc pick event.


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

* svg works


Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-10-16 16:20:58 +02:00