Commit Graph

2571 Commits

Author SHA1 Message Date
Justin Hernandez
df35a47f72 codex feedback 2025-07-28 22:05:15 -07:00
Justin Hernandez
47a8d9d2f1 merge with dev 2025-07-28 21:56:11 -07:00
Justin Hernandez
5f25752f77 update Gemfile.lock and remove lock when reinstalling 2025-07-28 21:54:46 -07:00
Justin Hernandez
19dcba0e42 test package update 2025-07-28 21:54:31 -07:00
Justin Hernandez
5427bd12a1 revert install cmd changes 2025-07-28 21:54:31 -07:00
Justin Hernandez
dbff69a13e Fix CI build by excluding nokogiri in GitHub Actions/Act environments
nokogiri is a native extension gem that causes build failures in CI
environments due to Ruby version conflicts and missing native dependencies.
This restores the conditional exclusion for CI while keeping it available
for local development.
2025-07-28 21:54:31 -07:00
Justin Hernandez
87f421456f prettier 2025-07-28 21:54:31 -07:00
Justin Hernandez
fbbefd2a3d fix building 2025-07-28 21:54:31 -07:00
Justin Hernandez
23b1118b8e optimize path resolving 2025-07-28 21:54:31 -07:00
Justin Hernandez
f0c884b43b fix loading 2025-07-28 21:54:31 -07:00
Justin Hernandez
5428567bbe clean up dupe bundle install 2025-07-28 21:54:31 -07:00
Justin Hernandez
3a766001dc fix metro loading 2025-07-28 21:54:31 -07:00
Justin Hernandez
5f793a54b3 remove passport provider lazy loading 2025-07-28 21:54:31 -07:00
Justin Hernandez
b6f7158e8e allow cursor to edit Gemfile and update lock file 2025-07-28 21:54:31 -07:00
Justin Hernandez
243640152d Update Gemfile.lock to exclude nokogiri in CI environments
- Regenerated Gemfile.lock with GITHUB_ACTIONS=true to match the conditional
  nokogiri exclusion in the Gemfile
- Removes nokogiri and its dependencies (mini_portile2, racc) from lock file
- Fixes pipeline error about deleted nokogiri dependency
2025-07-28 21:54:31 -07:00
Justin Hernandez
2dc7d7c1c9 fix install commands 2025-07-28 21:54:31 -07:00
Justin Hernandez
83d6308029 fix imports and test 2025-07-28 21:54:31 -07:00
Justin Hernandez
fa42b07ce4 fix import 2025-07-28 21:54:31 -07:00
Justin Hernandez
b281f15a16 update build checks 2025-07-28 21:54:31 -07:00
Justin Hernandez
215bca4bee save updated imports 2025-07-28 21:54:31 -07:00
Justin Hernandez
37f95bc8fb fix build command 2025-07-28 21:54:31 -07:00
Justin Hernandez
9e57e017ca build dependencies before linting 2025-07-28 21:54:31 -07:00
Justin Hernandez
ff9b9d2c7c lint suggestions 2025-07-28 21:54:31 -07:00
Justin Hernandez
7ad82d5817 fix type. more opportunities 2025-07-28 21:54:31 -07:00
Justin Hernandez
d55eec8f44 add typing to crypto loader 2025-07-28 21:54:31 -07:00
Justin Hernandez
df1c2dbd9b yarn nice 2025-07-28 21:54:31 -07:00
Justin Hernandez
04692ba3b5 update lock 2025-07-28 21:54:31 -07:00
Justin Hernandez
848071f315 cm feedback 2025-07-28 21:54:31 -07:00
Justin Hernandez
702e5096d5 Implement basic code splitting 2025-07-28 21:54:31 -07:00
jayssj11
c269e66f10 Feat/push to dev main (#767)
* feat: add version management system with build number tracking

- Add version.json to track iOS/Android build numbers separately
- Create version.cjs script for build number management
- Add Fastlane version_manager.rb helper
- Keep npm version for semver, version.json for build tracking

* feat: integrate version.json with Fastlane deployment process

## What Changed
- Updated iOS and Android Fastlane lanes to use version.json for build number management
- Added automatic build number increment on deployment
- Added deployment timestamp tracking

## How It Works

### iOS Deployment
1. Reads current build number from version.json
2. Increments iOS build number (e.g., 148 → 149)
3. Updates Xcode project with new build number via increment_build_number
4. Proceeds with TestFlight deployment
5. Updates lastDeployed timestamp on successful upload

### Android Deployment
1. Reads current build number from version.json
2. Increments Android build number (e.g., 82 → 83)
3. Updates build.gradle with new version code via increment_version_code
4. Proceeds with Play Store deployment
5. Updates lastDeployed timestamp on successful upload

## Why This Change
- Eliminates manual version/build number entry
- Prevents version conflicts between deployments
- Provides single source of truth for build numbers
- Enables automatic deployments without human intervention
- Tracks deployment history with timestamps

## Dependencies
- Requires version.json file (already created in previous commit)
- Uses existing Fastlane plugins:
  - increment_build_number (iOS - built-in)
  - increment_version_code (Android - from plugin)
- Version numbers still managed by npm version command

* feat: enhance deploy confirmation with version.json info

* fix: use ENV variable directly in increment_build_number to avoid secret masking

* fix: correct xcodeproj path for GitHub Actions workflow

* feat: add test mode to workflow for safe testing

- Skip store uploads when test_mode is true
- Test version bumps and builds without deployment
- Prevent accidental pushes to TestFlight/Play Store

* fix: use gradle_file_path instead of gradle_file for increment_version_code

* fix: use gsub to remove ../ prefix for CI compatibility

* chore: remove accidentally committed files

- Remove .cursor/mcp.json
- Remove .cursorignore
- Remove deployment-automation-summary.md
- Remove deployment-meeting-questions.md
- Remove pipeline.md

* feat: auto-commit version.json after successful deployment

- Commits version.json changes back to repository
- Only runs when test_mode is false
- Uses [skip ci] to prevent infinite loops
- Checks for actual changes before committing

* feat : update package.json in build step using npm version

* feat: add comprehensive caching to mobile deployment workflow

- Add caching for Yarn dependencies, Ruby gems, CocoaPods, Gradle, and Android NDK
- Implement cache versioning strategy for easy cache invalidation
- Fix cache order: caches now restored after checkout but before dependency installation
- Update mobile-setup action to skip installs when dependencies are cached
- Add cache size monitoring to track usage against GitHub's 10GB limit
- Fix Slack notification bug: skip notifications in test_mode
- Add detailed logging for package.json version updates (show from/to versions)

Expected performance improvement: ~50% faster builds (from ~15min to ~7-10min)

* fix: move bundler config after Ruby setup in mobile-setup action

* fix: rename cache env vars to avoid Yarn conflicts

Yarn was interpreting YARN_CACHE_VERSION as its own config setting.
Prefixed all cache version env vars with GH_ to avoid conflicts.

* fix: remove bundler deployment mode to allow Gemfile updates

The deployment mode was causing bundler to fail when Gemfile
changed (nokogiri was removed). CI should be able to update
the lockfile as needed.

* feat: implement strict lock file enforcement (Option 1)

- Re-enable bundler deployment mode for strict Gemfile.lock checking
- Use yarn install --immutable for strict yarn.lock checking
- Add clear error messages when lock files are out of date
- Add pre-checks to verify lock files exist
- This ensures reproducible builds and makes caching maximally effective

When developers change dependencies, they must now:
1. Run yarn install or bundle install locally
2. Commit the updated lock files
3. CI will fail with helpful instructions if they forget

* fix: update Gemfile.lock for CI environment

Remove nokogiri from Gemfile.lock since it's excluded in CI
environments (GITHUB_ACTIONS=true). This allows the strict
lock file checks to pass in CI.

* fix: correct yarn.lock path for monorepo workspace

The project uses Yarn workspaces with yarn.lock at the repository
root, not in the app directory. Updated paths to check for yarn.lock
at workspace root and use it for cache keys.

* fix: handle both boolean and string test_mode parameter

The test_mode parameter was only checking for string 'true' but
could be passed as boolean true from command line. Now handles both
cases to ensure test mode works correctly for iOS and Android.

* fix: address code review feedback for mobile deployment workflow

- Replace jq with Node.js for version extraction (jq not available on macOS runners)
- Fix concurrent commit race condition by creating separate update-version job
- Add platform validation to version_manager.rb and version.cjs scripts
- Use POSIX-compatible single = for shell string comparisons
- Ensure single atomic commit when deploying to both platforms

* fix: formatting and linting issues

- Remove trailing spaces from workflow YAML file
- Fix prettier formatting in JavaScript files
- Add -y flag to yarn version command for non-interactive mode
- Address all lint warnings from CI

* feat: implement automated branch-based mobile deployments

- Add mobile-deploy-auto.yml workflow that triggers on PR merges to dev/main
- Update mobile-deploy.yml to support workflow_call for reusability
- Add deployment_track, version_bump, and auto_deploy parameters
- Create new Fastlane lanes (deploy_auto) for iOS and Android
- Implement smart version bumping based on PR labels (major/minor/patch)
- Add graceful error handling for Play Store permission issues
- Enhance Slack notifications with deployment track information

This enables automatic deployments when PRs are merged:
- dev branch → internal testing track
- main branch → production track
- Skip deployment with [skip-deploy] in PR or no-deploy label

* feat: add automated git tagging and release system

- Add automatic git tagging for production deployments (v2.5.5, platform-specific tags)
- Create GitHub releases with changelogs for production deployments
- Add manual release script (yarn release) for version bumping and tagging
- Implement simple changelog generation from git history
- Add comprehensive deployment documentation in .github/MOBILE_DEPLOYMENT.md
- Update app/README.md with deployment commands and workflows

This completes the release automation system requested in the ticket for
manual tagging and versioning with automated changelogs and release notes.

---------

Co-authored-by: Jayaditya Gupta <nightmare@Jayadityas-MacBook-Pro.local>
2025-07-29 12:42:39 +08:00
turnoffthiscomputer
ee7bba3310 increment iOS bundle version 2025-07-28 18:06:45 +09:00
Seshanth.S🐺
df6423e18f fix: use cleanDocumentNumber (#784) 2025-07-28 10:52:05 +02:00
turnoffthiscomputer
0d853a2422 App/deeplink callback (#789)
* add deepllinkCallback support

* bump package version

* yarn nice

* fix background countdown

* cast the URL to prevent malicious code introduction
2025-07-28 10:20:57 +02:00
jayssj11
62883dc075 fix: bump app version to 2.6.3 for iOS release 2025-07-28 07:09:06 +00:00
jayssj11
95e8f89504 fix: increment iOS build number 2025-07-28 06:20:07 +00:00
jayssj11
7d5545bc91 Feat/mobile deployment automation (#759)
* feat: add version management system with build number tracking

- Add version.json to track iOS/Android build numbers separately
- Create version.cjs script for build number management
- Add Fastlane version_manager.rb helper
- Keep npm version for semver, version.json for build tracking

* feat: integrate version.json with Fastlane deployment process

## What Changed
- Updated iOS and Android Fastlane lanes to use version.json for build number management
- Added automatic build number increment on deployment
- Added deployment timestamp tracking

## How It Works

### iOS Deployment
1. Reads current build number from version.json
2. Increments iOS build number (e.g., 148 → 149)
3. Updates Xcode project with new build number via increment_build_number
4. Proceeds with TestFlight deployment
5. Updates lastDeployed timestamp on successful upload

### Android Deployment
1. Reads current build number from version.json
2. Increments Android build number (e.g., 82 → 83)
3. Updates build.gradle with new version code via increment_version_code
4. Proceeds with Play Store deployment
5. Updates lastDeployed timestamp on successful upload

## Why This Change
- Eliminates manual version/build number entry
- Prevents version conflicts between deployments
- Provides single source of truth for build numbers
- Enables automatic deployments without human intervention
- Tracks deployment history with timestamps

## Dependencies
- Requires version.json file (already created in previous commit)
- Uses existing Fastlane plugins:
  - increment_build_number (iOS - built-in)
  - increment_version_code (Android - from plugin)
- Version numbers still managed by npm version command

* feat: enhance deploy confirmation with version.json info

* fix: use ENV variable directly in increment_build_number to avoid secret masking

* fix: correct xcodeproj path for GitHub Actions workflow

* feat: add test mode to workflow for safe testing

- Skip store uploads when test_mode is true
- Test version bumps and builds without deployment
- Prevent accidental pushes to TestFlight/Play Store

* fix: use gradle_file_path instead of gradle_file for increment_version_code

* fix: use gsub to remove ../ prefix for CI compatibility

* chore: remove accidentally committed files

- Remove .cursor/mcp.json
- Remove .cursorignore
- Remove deployment-automation-summary.md
- Remove deployment-meeting-questions.md
- Remove pipeline.md

* feat: auto-commit version.json after successful deployment

- Commits version.json changes back to repository
- Only runs when test_mode is false
- Uses [skip ci] to prevent infinite loops
- Checks for actual changes before committing

* feat : update package.json in build step using npm version

* feat: add comprehensive caching to mobile deployment workflow

- Add caching for Yarn dependencies, Ruby gems, CocoaPods, Gradle, and Android NDK
- Implement cache versioning strategy for easy cache invalidation
- Fix cache order: caches now restored after checkout but before dependency installation
- Update mobile-setup action to skip installs when dependencies are cached
- Add cache size monitoring to track usage against GitHub's 10GB limit
- Fix Slack notification bug: skip notifications in test_mode
- Add detailed logging for package.json version updates (show from/to versions)

Expected performance improvement: ~50% faster builds (from ~15min to ~7-10min)

* fix: move bundler config after Ruby setup in mobile-setup action

* fix: rename cache env vars to avoid Yarn conflicts

Yarn was interpreting YARN_CACHE_VERSION as its own config setting.
Prefixed all cache version env vars with GH_ to avoid conflicts.

* fix: remove bundler deployment mode to allow Gemfile updates

The deployment mode was causing bundler to fail when Gemfile
changed (nokogiri was removed). CI should be able to update
the lockfile as needed.

* feat: implement strict lock file enforcement (Option 1)

- Re-enable bundler deployment mode for strict Gemfile.lock checking
- Use yarn install --immutable for strict yarn.lock checking
- Add clear error messages when lock files are out of date
- Add pre-checks to verify lock files exist
- This ensures reproducible builds and makes caching maximally effective

When developers change dependencies, they must now:
1. Run yarn install or bundle install locally
2. Commit the updated lock files
3. CI will fail with helpful instructions if they forget

* fix: update Gemfile.lock for CI environment

Remove nokogiri from Gemfile.lock since it's excluded in CI
environments (GITHUB_ACTIONS=true). This allows the strict
lock file checks to pass in CI.

* fix: correct yarn.lock path for monorepo workspace

The project uses Yarn workspaces with yarn.lock at the repository
root, not in the app directory. Updated paths to check for yarn.lock
at workspace root and use it for cache keys.

* fix: handle both boolean and string test_mode parameter

The test_mode parameter was only checking for string 'true' but
could be passed as boolean true from command line. Now handles both
cases to ensure test mode works correctly for iOS and Android.

* fix: address code review feedback for mobile deployment workflow

- Replace jq with Node.js for version extraction (jq not available on macOS runners)
- Fix concurrent commit race condition by creating separate update-version job
- Add platform validation to version_manager.rb and version.cjs scripts
- Use POSIX-compatible single = for shell string comparisons
- Ensure single atomic commit when deploying to both platforms

* fix: formatting and linting issues

- Remove trailing spaces from workflow YAML file
- Fix prettier formatting in JavaScript files
- Add -y flag to yarn version command for non-interactive mode
- Address all lint warnings from CI

---------

Co-authored-by: Jayaditya Gupta <nightmare@Jayadityas-MacBook-Pro.local>
2025-07-28 13:39:47 +08:00
Kevin Lin
2043c3819a fix: Add localhost validation to prevent invalid endpoint usage in QR Code SDK (#794) 2025-07-27 23:43:47 -04:00
Justin Hernandez
4721d12b09 SEL-570: Display user ID in prove screen (#790)
* Display user ID on prove screen

* Add user ID formatting util and tests

* Clarify user ID formatting

* fix nice

* add tests and save toggle wip

* update tests based on feedback

* say connected wallet when wallet
2025-07-25 12:58:33 -07:00
Seshanth.S🐺
4941b2ba58 SEL-544: Generate Mock DSC on mock-passport flow (#772)
* feat: Generate mock DSC on mock-passport flow

* Remove console log

* yarn format

* revert to mock dsc generation
2025-07-25 11:09:05 -07:00
Seshanth.S🐺
186daa655c SEL-566: Navigate Home based on document validity (#768)
* feat: navigate home if atleast one valid document is present

* update comments

* Review: Remove unnecessary continue statement

* feat: add tracking
2025-07-25 10:34:43 -07:00
Seshanth.S🐺
a41558a66b SEL-553: Show NFC Progress (#764)
* feat: add haptics

* fix: BAC FAILED error event

* update lock file

---------

Co-authored-by: Justin Hernandez <transphorm@gmail.com>
2025-07-25 09:46:56 +02: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
Justin Hernandez
18d25c392e Release new build v2.6.2 (#779)
* bump version and build

* ignore podfile
2025-07-21 22:08:08 -07:00
turnoffthiscomputer
874b426ebe Feat/retrieve OFAC trees from api (#769)
* retrieve the ofac trees from the api

* remove the ofac trees from the common repo

* fix ofac test

* yarn nice

* yarn nice

* yarn nice

* refactor ofac fetching
2025-07-21 11:07:04 +02:00
Ayman
aee72be5c7 bump: sdk/core to 1.0.7-beta.1 2025-07-21 13:07:59 +05:30
Ayman
4575daef73 fix: name formatting for middle name 2025-07-21 13:06:30 +05:30
turnoffthiscomputer
57825a43c9 fix user defined data (#766) 2025-07-17 15:47:47 +02:00
Seshanth.S🐺
2494a4399f SEL-559: Update td1 regex (#760)
* feat: update td1 regex

* update review comments

* fix: NPE on expirationDate regex
2025-07-16 08:17:50 -07:00