- Improve iOS test script with automatic simulator selection and booting
- Add URL scheme registration for handling deeplink tests
- Enhance error handling for iOS security prompts during testing
- Improve test data generation with fallback mechanisms
- Fix Xcode build command to use standard 'build' instead of 'build-for-testing'
- Add @ethersproject/wallet dependency and update package dependencies
- Add test-ios.js script for iOS build and test automation
- Add simulator detection and validation
- Add CocoaPods dependency handling
- Add iOS deeplink testing with xcrun simctl
- Add detailed build logging for iOS tests
The changes improve iOS testing by:
1. Automating iOS build and test process
2. Adding structured logging to build_logs directory
3. Supporting deeplink testing in iOS simulator
4. Validating iOS development environment
5. Matching Android test capabilities
Technical details:
- Uses xcodebuild for building and testing
- Handles simulator device detection
- Supports all deeplink test cases
- Provides detailed error reporting
- Maintains test logs for debugging
- Add build_logs directory for tracking Android build output
- Add Android generated assets to gitignore
- Improve test logging with timestamps and build context
- Add detailed error reporting for build and test failures
- Add proper cleanup of Android build artifacts
The changes improve Android testing by:
1. Tracking build history in build_logs directory
2. Providing detailed build context for debugging
3. Cleaning up generated assets properly
4. Improving error reporting and traceability
5. Adding structured logging for test execution
Added:
- build_logs/ directory for build history
- Android assets cleanup in .gitignore
- Detailed build and test logging
- Update @babel packages to 7.26.10
- Update @expo packages including cli to 0.22.19
- Update @eslint-community/eslint-utils to 4.5.0
- Update axios to 1.8.3
- Update babel-plugin-polyfill-corejs3 to 0.11.1
- Update electron-to-chromium to 1.5.114
- Update expo core modules to 2.2.3
- Update expo-constants to 17.0.8
Technical Changes:
- Upgrade @babel/core, traverse, and types
- Update expo configuration plugins and metro config
- Update prebuild config and ws-tunnel
- Fix peer dependencies for babel plugins
- Update core expo modules for better stability
This updates all dependencies to their latest stable versions
to improve security and compatibility while maintaining
build stability.
- Add test scripts for Android and iOS platforms
- Create prerequisite checker for mobile development setup
- Add device/simulator availability checks
- Update test-all command to include mobile tests
- Add granular test commands for web and mobile
The changes improve testing by:
1. Adding structured mobile test runners
2. Validating development environment setup
3. Separating web and mobile test flows
4. Adding device availability checks
5. Providing detailed test documentation
Added scripts:
- check-prerequisites.js: Validates dev environment
- test-android.js: Runs Android tests
- test-ios.js: Runs iOS tests
- run-available-mobile-tests.js: Smart platform detection
- Add Fastlane scripts for iOS and Android beta/release
- Remove DID generator scripts in favor of mobile deployment
- Update .gitignore for Fastlane artifacts and reports
- Remove Android test results and build artifacts
- Increase deep link test timeout for better reliability
The changes improve mobile deployment by:
1. Adding automated deployment pipelines for iOS/Android
2. Cleaning up build artifacts from version control
3. Improving test reliability with longer timeouts
4. Removing unused DID generator scripts
5. Adding proper gitignore rules for mobile builds
- Remove redundant test-deeplinks.sh script
- Update run-deeplink-tests.sh with improved timeout
- Remove unused secp256k1-sign script
- Remove deprecated new_flow scripts
- Clean up test script directory
Technical Changes:
- Increase default timeout from 5 to 10 seconds
- Remove Python/TypeScript DID generation scripts
- Remove redundant deep link test script
- Remove unused crypto signing script
This simplifies the test script directory by removing
deprecated scripts and consolidating deep link testing
into a single, more reliable script.
- Add claim route to deep link schema
- Add claim view test to deeplink tests
- Update build docs for clean web builds
- Add rm -rf dist to build steps
Technical Changes:
- Add claim schema with id parameter
- Add claim route test using generated claim ID
- Add clean step before web/capacitor builds
- Update Android build instructions
This adds support for deep linking to claim views and
improves the build process reliability by ensuring clean
builds. The claim route allows direct navigation to claim
details via external links.
- Split loadClaim into focused methods for better separation of concerns
- Add proper error handling and error messages
- Add JSDoc comments for all methods
- Extract URL parameter handling into dedicated method
- Improve gift confirmation and sharing workflows
The changes improve code maintainability by:
1. Breaking down monolithic methods into smaller, focused functions
2. Adding clear error handling and user feedback
3. Improving method documentation with JSDoc
4. Separating data fetching from processing logic
5. Making component behavior more predictable
- Add deep linking configuration section to BUILDING.md
- Document intent filter requirements for Android
- Add console build instructions
- Document gradlew commands for clean builds
- Add Capacitor setup steps
Technical Details:
- Add XML example for intent-filter configuration
- Document autoVerify flag requirement
- Add gradlew clean and build commands
- Add lint baseline configuration
- Document Capacitor CLI usage
This improves the developer documentation by adding clear
instructions for setting up Android deep linking support,
including both Android Studio and command line build
processes.
- Add force-stop before deep link execution
- Remove URL encoding for deep link paths
- Simplify deep link schema definitions
- Remove unused route mappings
- Add proper app package name for force-stop
Technical Changes:
- Remove redundant URL encoding for deep link paths
- Add force-stop for app.timesafari.app before deep links
- Add sleep delay after force-stop for reliability
- Remove unused route mappings from routeMap
- Simplify DID schema to only require id field
This improves deep link testing reliability by properly
resetting app state before each test and simplifies the
deep link handling code by removing unused routes and
redundant URL encoding.
- Add colon (:) to safe characters in URL encoding to preserve DID format
- Add test case for simple DID route with "test" identifier
- Improve test descriptions for DID-based deeplinks
- Fix typo in test sequence (/d)
The URL encoding now correctly handles DID format (did:ethr:0x...) while still
encoding other special characters. Added basic DID test case to verify route
handling before testing with actual DID values.
- Add detailed JSDoc comments for all methods in DIDView
- Improve method descriptions and parameter documentation
- Group related methods with descriptive comments
- Add return type documentation where applicable
- Clarify method purposes and side effects
The changes improve code documentation by:
1. Adding clear method descriptions
2. Documenting parameters and return types
3. Explaining method behaviors and side effects
4. Grouping related functionality
5. Making code more maintainable
- Add DID route schema to deepLinks.ts
- Enable Android app link verification
- Add autoVerify flag to Android manifest
Technical Changes:
- Add did schema with id parameter to deepLinkSchemas
- Add DeepLinkParams type for DID routes
- Set android:autoVerify="true" in intent-filter
- Update manifest to handle DID deep links
This enables proper deep linking for DID-based routes and
allows Android to verify app links automatically. The DID
schema allows direct navigation to DID-specific views via
external links.
- Add .generated directory for test artifacts
- Save key derivation data to key_derivation.json
- Save account initialization to account_init.json
- Save registration data to registration.json
- Save claim details to claim_details.json
- Save test environment to test-env.sh
- Save contacts data to contacts.json
- Add proper error handling for file operations
- Improve deeplink test flow with JSON-based data
- Add color output and better status messages
- Add ADB device detection and fallback to print mode
Technical Changes:
- Add file system operations with proper error handling
- Standardize JSON output format across Python/TypeScript
- Update test flow to use generated JSON files
- Add proper typing for registration response
- Improve error reporting and debug output
This improves the test workflow by saving all intermediate
data as JSON files that can be used by other test scripts.
The deeplink testing now uses this data instead of environment
variables for better reliability.
- Fix mnemonic validation in Python version
- Add consistent output logging across Python/TypeScript
- Show key derivation details in readable format
- Truncate sensitive values in output
- Match output format between implementations
This fixes the mnemonic error and improves debugging by
adding consistent logging of the key derivation process.
- Use proper secp256k1 signing tools
- Simplify private key format
- Add fallback signing mechanism
- Match TypeScript/Python signature format
- Fix JWT verification error
This fixes the JWT verification by using proper
secp256k1 signing tools and matching the signature
format of the working implementations.
- Add fetch_claim method to match TypeScript version
- Implement JWT authentication for claim fetching
- Update main flow to fetch claim after registration
- Add error handling and logging
- Match TypeScript API structure
This adds the ability to fetch claim details after
successful DID registration, completing the full
registration and verification flow.
- Add full DID registration flow matching TypeScript version
- Implement ES256K JWT signing with PEM key format
- Add async/await support for JWT operations
- Improve error handling and debug output
- Add rich documentation and type hints
Technical Changes:
- Convert private key to PEM format for JWT signing
- Match TypeScript's JWT payload structure
- Add proper JWT header with ES256K algorithm
- Implement async functions for JWT creation
- Add detailed debug output for JWT parts
Documentation:
- Add module-level docstring with flow description
- Add function-level docstrings with examples
- Document security considerations
- Add technical details and error handling info
Dependencies:
- Add cryptography for key format conversion
- Add jwcrypto for JWT operations
- Update requirements.txt with versions and comments
This commit implements the complete DID registration flow,
matching the TypeScript implementation's behavior and
adding comprehensive documentation and error handling.
- Split feed initialization into separate methods
- Add registration status verification
- Improve error handling and notifications
- Add JSDoc comments for better code documentation
- Make apiServer optional in settings type
The changes improve code organization by:
1. Breaking down monolithic initialization into focused methods
2. Adding proper type safety for optional settings
3. Improving error handling and user feedback
4. Adding clear documentation for methods
5. Separating concerns for feed, contacts and registration
- Add automatic visibility request when DID not found
- Add rich documentation for script usage and features
- Improve error handling and user feedback
- Add visual indicators for success/failure
- Add HTTPS for API endpoints
- Add proper exit codes for different scenarios
- Add detailed debug logging throughout
- Add file header documentation
This enhances the DID visibility script by adding automatic
visibility requests when a DID is not found, along with
better documentation, error handling and user feedback.
Adds dids_seen.sh script to check DID visibility permissions in endorser.ch system.
Key features:
- JWT creation and signing using ES256K-R
- DID visibility checking via API
- Environment variable and .env file support
- Debug logging with DEBUG=1 flag
- Command line argument parsing for specific DID checks
- Secure key handling with temporary files
- Pretty-printed JSON output
Security:
- Uses secure temporary files with cleanup
- Validates DER signature format
- Handles key material securely
- Supports environment variable configuration
- Convert did_generator.sh to output clean JSON
- Add structured error reporting with stages
- Improve debug logging with DEBUG flag
- Better error handling in run-deeplink-tests.sh
- Add detailed debug tracing
- Fix JSON parsing and validation
- Add visual feedback for generated DIDs
- Use printf instead of echo for consistent output
- Remove stderr mixing with stdout
- Add proper exit status handling
This refactors the DID generation process to be more reliable
and maintainable by using structured JSON output and proper
error handling throughout the pipeline.
- Add check-did.sh to verify DID registration using admin JWT auth
- Fix JWT signing in generate-test-claim.sh to match uport-credentials format
- Clean up DID extraction in run-deeplink-tests.sh
- Add proper error handling and response parsing
The changes improve test script reliability by:
1. Using consistent JWT signing across scripts
2. Adding ability to verify DID registration status
3. Simplifying DID info extraction
4. Adding better error messages and debug output