- Completely rewrite main.js for reliable asset loading - Update preload.js with proper security context isolation - Fix file:// protocol handling for application resources - Add proper error logging and reporting in Electron context - Disable service workers in Electron environment - Fix path resolution for assets in packaged application - Add prerequisite checking for Electron builds - Update electron-builder configuration The changes resolve persistent issues with: 1. Missing assets in packaged application 2. Incorrect path resolution in production builds 3. Service worker conflicts in desktop environment 4. Security context handling in preload script 5. Electron build process reliability
Test Scripts
This directory contains scripts for testing deep links and DID functionality.
Deep Link Testing
The run-deeplink-tests.sh script tests the app's deep link handling capabilities.
Prerequisites
- Required tools:
- bash
- curl
- jq
- adb (optional - for device testing)
- Either:
- Python 3 with packages:
mnemonic,eth_account,eth_keys,web3,requests - OR Node.js with TypeScript
- Python 3 with packages:
Setup
-
Generate required test files using either:
Python method:
pip install mnemonic eth_account eth_keys web3 requests python test-scripts/generate_data.pyOR TypeScript method:
npm install npm run build npm run start -
This will create the
.generateddirectory with required files:test-env.shclaim_details.jsoncontacts.json
Running Tests
-
Execute tests:
./test-scripts/run-deeplink-tests.sh -
Print mode (no device needed):
./test-scripts/run-deeplink-tests.sh -p -
Custom timeout:
./test-scripts/run-deeplink-tests.sh -t 10
Troubleshooting
If you encounter errors:
- Ensure
.generateddirectory exists with required files - Check ADB is installed for device testing
- Run with
-pflag to verify deep link generation - Verify test environment variables in
.generated/test-env.sh
Clean Up
To clean up generated files:
rm -rf .generated