* chore: simplify npm publish workflow by removing NPM token checks
- Removed redundant checks for NPM_TOKEN before publishing packages to npm.
- Updated publish result messages to reflect the use of Trusted Publishers (OIDC) for package publishing.
- Streamlined the workflow for better clarity and efficiency.
* chore: update npm publish workflow to use ubuntu-slim
- Changed the runner from 'ubuntu-latest' to 'ubuntu-slim' for improved efficiency and reduced resource usage during the npm publish process.
* chore: enhance npm publish workflow with dry run option
- Added a 'dry_run' input to the npm publish workflow to validate authentication and Trusted Publishers without uploading packages.
- Updated publish result messages to indicate when a dry run is completed, improving feedback during the publishing process.
* chore: refine npm publish workflow by removing strict mode input
- Eliminated the 'strict_mode' input from the npm publish workflow to simplify the process.
- Removed associated error handling comments and environment variable for stricter publish mode.
- Streamlined the workflow for improved clarity and efficiency during package publishing.
* chore: update npm publish workflow to use npx for publishing
- Replaced `yarn npm publish` with `npx npm@latest publish` to ensure the latest npm CLI is used for package publishing.
- Removed unnecessary `yarn config set npmPublishAccess` commands to streamline the workflow.
- Maintained the existing dry run functionality for testing without actual publishing.
* chore: enhance npm publish workflow to include version tagging
- Updated the npm publish workflow to dynamically determine the package version and apply a beta tag for pre-release versions.
- This change ensures that the correct versioning is maintained during the publishing process, improving clarity for users regarding package stability.
- Retained existing dry run functionality for testing without actual publishing.
* chore: remove npm publish command from package.json files
- Eliminated the `publish` script from multiple package.json files across contracts, sdk/core, sdk/qrcode, and sdk/qrcode-angular.
- This change streamlines the package management process by removing unnecessary publish commands, ensuring a cleaner configuration for future development.
* Temporary bump versions for check package publishing
* Revert "Temporary bump versions for check package publishing"
This reverts commit 180f5d538a.
* chore: add version check before npm publishing
- Implemented a version check in the npm publish workflow to prevent publishing of already published package versions.
- This enhancement ensures that developers are notified to bump the version in package.json if the version is already published, improving the publishing process and reducing errors.
* chore: improve npm publish workflow with enhanced outcome handling
- Updated the npm publish workflow to include detailed outcome handling for publish results, including checks for version publication status and improved messaging for skipped or failed publishes.
- This enhancement provides clearer feedback to developers regarding the publishing process, ensuring they are informed about the status of their package versions and necessary actions to take.
* chore: update npm publish workflow to include yarn packing for workspace resolution
- Added steps to pack each workspace using `yarn pack` before publishing to npm, ensuring that the correct package is published from each directory.
- This change resolves issues related to workspace protocol and improves the reliability of the publishing process across multiple packages.
* chore: simplify npm publish workflow by removing version check step
- Removed the version check for publish-msdk, as it did not work for private packages.
- Updated outcome handling to ensure clear messaging for skipped publishes without the version check dependency, improving overall workflow clarity.
* 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
* 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.
* Triggering GitHub workflows
* Add status animations and self logos
* Update utilities and styles for statuses
* Remove old LED implementation and occurences
* Update Self QR Code with new design
* Add status banner
* Remove console and use QRcodeSteps in styles
* Add ARIA and use Memo to prevent re-renders
* Add refs for success and error callbacks
* Use ref for self app in qrcode
* Use selfapp ref consistently
* Update connected state animtion
* Skip 'parses Android response' test in nfcScanner
---------
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Javier Cortejoso <javier.cortejoso@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
* Enforce separate type imports
* chore: enforce separate type exports
* refactor: flatten sdk index exports
* updates
* fix improperly sorted types
* fixes and prettier
* prettier
* 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
* Add tree-shakeable exports
* Migrate imports for tree-shakeable paths
* Document ESM extension requirement
* udpates
* install new lock
* yarn nice
* build deps
* save working index export no wildcard approach
* save wip
* fix building
* add tree shaking doc and examples
* sort package json files
* update package.json
* fix analyzing web
* make sure that web is built
* wip tree shaking
* building works again. save wip logic
* use granular imports
* wip test
* save wip
* Remove hardcoded .d.ts files and setup automatic TypeScript declaration generation
- Remove redundant constants.d.ts, types.d.ts, utils.d.ts files
- Add build:types script to automatically generate TypeScript declarations
- Update tsup config to disable DTS generation (handled separately)
- Update .gitignore to prevent future commits of generated .d.ts files
- Fixes import resolution errors in app by ensuring declarations are always generated
* Add .gitignore rules for generated TypeScript declarations
* ignore dts files
* Remove redundant index.js re-export files
- Remove constants.js, types.js, utils.js as they're redundant with tsup build
- These were just re-exports pointing to dist files that tsup generates
- package.json exports already point directly to built files
- Update .gitignore to prevent future commits of these generated files
- tsup handles all the building, no manual re-export files needed
* save current wip fixes
* add tsup config for web building
* common prettier and fix imports
* prettier
* fix tests
* implement level 3 tree shaking
* improve splitting
* optimize vite web building and prettier
* remove comments
* sort export params
* feedback and fix pipelines
* fix circuit-names path
* fix test
* fix building
* sort
* fix building
* allow cursor to edit scripts
* fix loadDocumentCatalog undefined
* fix build settings
* fix build settings
* additional metro tree shaking
* improved discovery script for xcode building
* pr feedback and fix camelCasing
* simplify shim setup
* fix xcode building and add command to test building
* remove comment
* simplify
* fix build issues
* generate disclosure proof with euids
* generate disclosure proof with euids
* Eu id updates 2 (#648)
* update vc_and_disclose_id test (dev branch) (#641)
* fix: vc_and_disclose_id test
* chore: yarn prettier
* Show modal on NFC scan error (#642)
* Add help button and error modal actions
* fix the screen management
* yarn nice
* Bump build v2.5.4: ios 132; android 71 (#631)
* bump version and build numbers
* remove tamagui/toast
* fix marketing version
* fix: update TD1 and TD3 checks (#643)
* bum yarn.lock
* add version and user defined data
---------
Co-authored-by: Vishalkulkarni45 <109329073+Vishalkulkarni45@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
* remove the mock user define data
* get the useridentifier as a hash from the user defined data
* chore: add version and userDefinedData
* feat: use the version in register / dsc proofs as well
* update calculateUserIdentifierHash
* yarn nice
* refactor: consolidate user context data handling and update payload structure
* fix typing issues on sha1
* remove console.log(sha1)
* fix sha1 import
* refactor: streamline userDefinedData handling and adjust payload type for circuit
* refactor: update sha1 usage and enhance logging in calculateUserIdentifierHash
* yarn nice
* yarn lint common
* use ts-ignore for sha1 import
* fix app ci tests
* fix typing issue
* remove unused ts-ignore
* cast uuid before calling generateinputs
* bump qrcode version
* add tsup on the qrcode sdk
* fix: exports on selfxyz/qrcode
* update how we define config.version
* fix yarn imports
* yarn format
---------
Co-authored-by: Vishalkulkarni45 <109329073+Vishalkulkarni45@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
Co-authored-by: Seshanth.S🐺 <35675963+seshanthS@users.noreply.github.com>
Co-authored-by: Ayman <aymanshaik1015@gmail.com>
* bump builds
* update env.sample with new env vars, and add _NFC to mixpanel nfc var
* remove NDEF so we can keep target sdk version at 15
* add sort package json command
* sort all project package.json files
* enable hermes
* disable hermes
* revert disabling
* remove hermes
* feat: emit `error_code` and `reason` in app
* feat: add `onError` in sdk
* feat: Display reason in app
* lint & fmt
* feat: add scrollview in ProofRequestStatusScreen for long reasons
* generate scope from dns
* switch between api and staging api according to document type
* add poland passport to mockdatascreen
* yarn nice
* bump sdk version
* bump app version
* Feat/update sdk (#496)
* export castFromScope
* export proof conversion
* publish new package
* update package
* update package
* add hashEndpointWithScope to export member
---------
Co-authored-by: nicoshark <i.am.nicoshark@gmail.com>
* rename handleProofVerified to handleProofResult
* from the app, call proof_verified or proof_generation_failed instead of always proof_verified
* messaging for when proof fails
* bump sdk version
* yarn nice
* chore: add redirect.self.xyz to app link domains
* chore: add redirect.self.xyz to android manifest
* add self in the universal link path
* set gestureEnabled false on Launch screen
* improve ProveScreen UX
* improve ProveScreen UX
* implement deeplinking in mobile app and sdk
* start app listener in ViewFinder
* support WS connexion with complex qrcodes
* remove /self path from android deeplink support
---------
Co-authored-by: turboblitz <florent.tavernier@gmail.com>