* Add tmate session to debug e2e workflow
* Don't run ios e2e
* Debug wip
* Debug wip
* Debug wip
* Enhance mobile E2E workflow by adding pre-installation step for emulator dependencies. This ensures the necessary Android SDK components are available for testing, improving the reliability of the build verification process.
* Add KVM group permissions setup to mobile E2E workflow
This update introduces a step to enable KVM group permissions in the mobile E2E workflow. This change ensures that the necessary permissions are configured for KVM, enhancing the environment setup for emulator testing and improving overall build verification reliability.
* Run e2e in self-hosted runners
* Fix JVM install
* Fix JVM install
* KVM check
* Refactor KVM access check in mobile E2E workflow
This update modifies the KVM access check step to provide a warning if /dev/kvm is not found, allowing the emulator to run in software mode instead of failing the workflow. Additionally, it dynamically adjusts the emulator options based on KVM availability, improving performance and flexibility in the testing environment.
* Adding tmate for debugging
* Adding retry logc to sdkmanger install
* Changing android channel to stable
* Add installation of emulator runtime dependencies in mobile E2E workflow
This update introduces a step to install necessary runtime dependencies for the Android emulator, ensuring a smoother testing environment and improving the reliability of the mobile end-to-end testing process.
* Fix APK install command
* Update Android api
* Update android emulator version
* Add E2E test script to mobile workflow
This commit introduces a new script for running end-to-end tests on the Android emulator. The script handles app installation and execution of Maestro tests, improving the organization and readability of the workflow. The previous inline commands have been replaced with a dedicated script, enhancing maintainability and clarity in the testing process.
* fix e2e test
* improve maestro test
* try workflow again
* attempt fix
* fix
* another try
* clean up wording to reflect it's fixed
---------
Co-authored-by: Javier Cortejoso <javier.cortejoso@gmail.com>
* chore: bump mobile app version to 2.9.15
Update build numbers and deployment timestamps after successful deployment.
* bump android version code
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
* chore: bump mobile app version to 2.9.6
Update build numbers and deployment timestamps after successful deployment.
* bump version too
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
* 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>
* 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
* add iOS qrcode opener and aadhaar screen
* format
* fix test
* add Image-picker android (#1077)
* add image-picker android
* fix validation
* feat: implement Aadhaar upload success and error screens, enhance AadhaarNavBar with dynamic progress indication
- Added AadhaarUploadedSuccessScreen and AadhaarUploadErrorScreen components for handling upload outcomes.
- Updated AadhaarNavBar to reflect current upload step with dynamic progress bar.
- Integrated new screens into navigation flow for Aadhaar upload process.
- Introduced blue check and warning SVG icons for visual feedback on success and error states.
* feat: generate mock aadhar (#1083)
* feat: generate mock aadhar
* add yarn.lock
* update yarn.lock
* update protocolStore, update types, start modifying provingMachine
* Register mock aadhar (#1093)
* Register mock aadhar
* fix ofac
* temp: generate name
* fix dob
* Add Aadhaar support to ID card component and screens
- Integrated Aadhaar icon and conditional rendering in IdCardLayout.
- Updated AadhaarUploadScreen to process QR codes and store Aadhaar data.
- Modified navigation and button text in AadhaarUploadedSuccessScreen.
- Added mock data generation for Aadhaar in the mobile SDK.
- Updated ManageDocumentsScreen to include Aadhaar document type.
- Enhanced error handling and validation for Aadhaar QR code processing.
- Added utility functions for Aadhaar data extraction and commitment processing.
* aadhaar disclose - wip (#1094)
* fix: timestamp cal of extractQRDataFields
* Feat/aadhar fixes (#1099)
* Fix - android aadhar qr scanner
* fixes
* update text
* yarn nice
* run prettier
* Add mock Aadhaar certificates for development
- Introduced hardcoded Aadhaar test certificates for development purposes.
- Moved Aadhaar mock private and public keys to a dedicated file for better organization.
- Updated the mock ID document generation utility to utilize the new Aadhaar mock certificates.
* prettier write
* add 'add-aadhaar' button (#1100)
* Update .gitleaks.toml to include path for mock certificates in the common/dist directory
* yarn nice
* Enhance Aadhaar error handling with specific error types
- Updated the AadhaarUploadErrorScreen to display different messages based on the error type (general or expired).
- Modified the AadhaarUploadScreen to pass the appropriate error type when navigating to the error screen.
- Set initial parameters for the home screen to include a default error type.
* Update passport handling in proving machine to support Aadhaar document category
- Modified the handling of country code in the useProvingStore to return 'IND' for Aadhaar documents.
- Ensured that the country code is only fetched from passport metadata for non-Aadhaar documents.
* tweak layout, text, change email to support, hide help button
* fix ci, remove aadhaar logging, add aadhaar events
* remove unused aadhaar tracking events
* update globs
* fix gitguardian config
* don't track id
---------
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: vishal <vishalkoolkarni0045@gmail.com>
* chore: remove android private modules doc
* private repo pull
* skip private modules
* remove unused circuits building
* save wip
* format
* restore tsconfig
* fix package install
* fix internal repo cloning
* unify logic and fix cloning
* git clone internal repos efficiently
* formatting
* run app yarn reinstall from root
* coderabbit feedback
* coderabbit suggestions
* remove skip private modules logic
* fix: ensure PAT is passed through yarn-install action and handle missing PAT gracefully
- Update yarn-install action to pass SELFXYZ_INTERNAL_REPO_PAT to yarn install
- Make setup-private-modules.cjs skip gracefully when PAT is unavailable in CI
- Fixes issue where setup script was throwing error instead of skipping for forks
* prettier
* fix clone ci
* clone ci fixes
* fix import export sorts
* fix instructions
* fix: remove SelfAppBuilder re-export to fix duplicate export error
- Remove SelfAppBuilder import/export from @selfxyz/qrcode
- Update README to import SelfAppBuilder directly from @selfxyz/common
- Fixes CI build failure with duplicate export error
* fix: unify eslint-plugin-sort-exports version across workspaces
- Update mobile-sdk-alpha from 0.8.0 to 0.9.1 to match other workspaces
- Removes yarn.lock version conflict causing CI/local behavior mismatch
- Fixes quality-checks workflow linting failure
* fix: bust qrcode SDK build cache to resolve stale SelfAppBuilder issue
- Increment GH_SDK_CACHE_VERSION from v1 to v2
- Forces CI to rebuild artifacts from scratch instead of using cached version
- Resolves quality-checks linter error showing removed SelfAppBuilder export
* skip job
* test yarn cache
* bump cache version to try and fix the issue
* revert cache version
* refactor: use direct re-exports for cleaner qrcode package structure
- Replace import-then-export pattern with direct re-exports
- Keep SelfAppBuilder export with proper alphabetical sorting (before SelfQRcode)
- Maintain API compatibility as documented in README
- Eliminates linter sorting issues while keeping clean code structure
* fix: separate type and value imports in README examples
- Import SelfApp as type since it's an interface
- Import SelfAppBuilder as value since it's a class
- Follows TypeScript best practices and improves tree shaking