element-x-ada/docs/build-logs/import-ssss-test-result.md

4.4 KiB

Wallet Import & SSSS Test Results

Date: 2026-03-28 19:52 PDT Tester: Kayos (subagent) Build: phase1-dev branch, commit 1308a8299a (feat: implement import wallet from mnemonic)

Summary

Test Result Notes
Import Wallet PASS Address matches exactly
Export Recovery Phrase PASS 24 words displayed correctly
SSSS Backup UI PASS Shows proper input & validation
SSSS Backup E2E ⚠️ BLOCKED Account has no recovery key set up
Recovery Round-Trip ⏭️ SKIPPED Depends on SSSS backup

Detailed Results

Step 1: Install Fresh APK

  • Rebuilt APK with latest import feature code
  • Installed successfully on emulator

Step 2: Login and Clear State

  • Logged in as @testbot-elementx:sulkta.com
  • Deleted existing wallet data via adb shell rm for clean test

Step 3: Test Import Wallet PASS

  • Navigated to wallet setup → "Import Existing Wallet"
  • Import mnemonic screen displayed correctly
  • Entered 24-word mnemonic:
    pizza spice brief domain card imitate park plate reopen project remember escape
    borrow weapon blind daring slogan exclude furnace pull lunar trick proud salmon
    
  • Word count displayed: 24/24 words
  • Tapped "Restore Wallet"
  • Imported address: addr_test1qzl3rfpsnejf5wjey74yxz8jzduqzxfq3ze6xsgfcrrt03dlmpn40atetazzuywm6eseptz3eh9z7y7tevgtmujwy3ussnvev7
  • Expected address: addr_test1qzl3rfpsnejf5wjey74yxz8jzduqzxfq3ze6xsgfcrrt03dlmpn40atetazzuywm6eseptz3eh9z7y7tevgtmujwy3ussnvev7
  • MATCH: YES

Step 4: Test Export Recovery Phrase PASS

  • After import, backup screen showed all 24 words correctly:
    1. pizza 2. spice 3. brief 4. domain 5. card 6. imitate
    2. park 8. plate 9. reopen 10. project 11. remember 12. escape
    3. borrow 14. weapon 15. blind 16. daring 17. slogan 18. exclude
    4. furnace 20. pull 21. lunar 22. trick 23. proud 24. salmon
  • All words match the saved mnemonic
  • Note: Screenshot capture returned black due to FLAG_SECURE protection (expected for security screens)

Step 5: Test SSSS Backup ⚠️ BLOCKED

  • SSSS backup screen displayed correctly
  • Input field for recovery key shown
  • "Backup Now" button enabled after entering key
  • Test key entered → Error: "Invalid recovery key. Please check and try again."
  • Root cause: Account @testbot-elementx:sulkta.com has no Matrix recovery key configured
    curl "https://chat.sulkta.com/.../m.secret_storage.default_key"{}
    
  • SSSS backup UI and validation works correctly, but can't complete E2E test without setting up Matrix recovery first

Step 6: Recovery Round-Trip ⏭️ SKIPPED

  • Depends on successful SSSS backup
  • Cannot test until recovery key is configured

Wallet State After Test

  • Balance: 9997.828471 ADA
  • Network: Preprod Testnet
  • Address: addr_test1qzl3rfpsnejf5wjey74yxz8jzduqzxfq3ze6xsgfcrrt03dlmpn40atetazzuywm6eseptz3eh9z7y7tevgtmujwy3ussnvev7
  • Wallet fully functional with correct imported keys

Bugs Found & Fixed

Bug 1: Outdated APK

  • Issue: APK on emulator was built before import feature commit
  • Symptom: "Import not yet supported. Please create a new wallet." error
  • Fix: Rebuilt APK with latest phase1-dev code
  • Status: Fixed
  • Import, export, and SSSS validation all working correctly

Recommendations

  1. Set up Matrix recovery key for test account to enable full SSSS E2E testing:

    • Either via Element Web (Security & Privacy → Create recovery key)
    • Or programmatically via Matrix API
  2. Consider adding SSSS setup prompts when user has no recovery key configured

  3. FLAG_SECURE is working - screenshots correctly blocked on sensitive screens

Build Command Reference

# Rebuild x86_64 APK
docker run --rm -v /tmp/element-x-android:/project -v /tmp/gradle-cache:/root/.gradle \
  -w /project mingc/android-build-box:latest \
  ./gradlew :app:assembleFdroidDebug --no-daemon -x test

# Install to emulator
docker cp /tmp/element-x-android/app/build/outputs/apk/fdroid/debug/app-fdroid-x86_64-debug.apk android-emulator:/tmp/app.apk
docker exec android-emulator adb install -r /tmp/app.apk

Conclusion

Import feature is fully functional and ready for use. The wallet correctly derives the expected address from the mnemonic, and the UI flow is smooth. SSSS backup needs Matrix recovery key setup to complete testing.