Skip to content

feat: initialize expo-example automation test#694

Draft
wabicai wants to merge 8 commits intoonekeyfrom
feature/automation-test
Draft

feat: initialize expo-example automation test#694
wabicai wants to merge 8 commits intoonekeyfrom
feature/automation-test

Conversation

@wabicai
Copy link
Member

@wabicai wabicai commented Mar 9, 2026

No description provided.

@wabicai wabicai marked this pull request as draft March 9, 2026 08:29
@revan-zhang
Copy link
Contributor

revan-zhang commented Mar 9, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@socket-security
Copy link

socket-security bot commented Mar 9, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​polkadot/​util-crypto@​13.1.1401008088100
Added@​babel/​plugin-proposal-object-rest-spread@​7.20.71001007550100
Added@​babel/​plugin-proposal-optional-chaining@​7.21.01001007450100
Added@​radix-ui/​react-separator@​1.1.71001006791100
Added@​tamagui/​babel-plugin@​1.90.2991006994100
Added@​radix-ui/​react-progress@​1.1.71001006991100
Added@​radix-ui/​react-slot@​1.2.31001006991100
Added@​nexajs/​script@​23.12.13751006982100
Added@​types/​bchaddrjs@​0.4.31001007079100
Added@​radix-ui/​react-checkbox@​1.3.2991007192100
Added@​babel/​preset-react@​7.22.151001007193100
Added@​radix-ui/​react-dropdown-menu@​2.1.15991007192100
Added@​radix-ui/​react-dialog@​1.1.14991007192100
Added@​tamagui/​toast@​1.90.2911007296100
Added@​radix-ui/​react-tooltip@​1.2.7991007292100
Added@​react-navigation/​bottom-tabs@​6.5.121001007397100
Added@​radix-ui/​react-toast@​1.2.14991007392100
Added@​babel/​preset-typescript@​7.23.31001007393100
Added@​types/​bytebuffer@​5.0.431001007377100
Added@​radix-ui/​react-scroll-area@​1.2.9991007391100
Added@​onekeyfe/​cross-inpage-provider-core@​0.0.17851007397100
Added@​react-navigation/​native-stack@​6.9.181001007399100
Added@​alephium/​web3-wallet@​1.5.280100739770
Added@​radix-ui/​react-select@​2.2.5981007492100
Added@​types/​bn.js@​5.1.51001007481100
Added@​nexajs/​address@​23.12.257510010082100
Added@​react-navigation/​native@​6.1.10991007599100
Added@​tamagui/​config@​1.90.2921007694100
Added@​onekeyfe/​react-native-ble-utils@​0.1.4771008084100
Added@​babel/​core@​7.23.9981008095100
Added@​ckb-lumos/​helpers@​0.23.08110010083100
Added@​ton/​core@​0.57.01001008292100
Added@​scure/​bip39@​1.3.010010010082100
See 19 more rows in the dashboard

View full report

@socket-security
Copy link

socket-security bot commented Mar 9, 2026

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm @polkadot/util-crypto is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: packages/connect-examples/expo-example/package.jsonnpm/@polkadot/util-crypto@13.1.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@polkadot/util-crypto@13.1.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @react-native/debugger-frontend is 96.0% likely obfuscated

Confidence: 0.96

Location: Package overview

From: ?npm/@react-native/debugger-frontend@0.73.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@react-native/debugger-frontend@0.73.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

wabicai and others added 7 commits March 12, 2026 22:32
…ified test runner

Refactor automation test from flat mnemonic groups to Jira-based scenario catalog
(OK-26053/26054/5504/40090) with BIP39 and SLIP39 create/import coverage.

- Add PhonePilot MCP client with arm control, OCR, sequence execution
- Add scenarioCatalog and scenarioResolver for test case resolution
- Support passphrase variants (normal/empty/passphrase_1/passphrase_2)
- Add test suites: deviceFlow, sdkAddressBatch, sdkPubkeyBatch
- Rebuild AutomationTestScreen with connection, config, progress, and report panels
- Update SLIP39 test data with unified id format and passphrase support
- Add count12_three address/pubkey test data with passphrase variants

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ssphrase suites

Replace 882-line AutomationTestScreen monolith with 20 focused components
in a two-column layout (live output panel + config sidebar). Add two new
test suite types: passphraseWalletSwitch (create N wallets, cycle switch,
verify address consistency) and specialPassphrase (9 edge-case passphrases
× 3 methods). Harden PhonePilotClient with fetch timeouts, scoped event
listeners, concurrent-run guard, and bounded log buffer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The previous two-column layout (StickyHeaderBar + LiveOutputPanel +
ConfigSidebar) was inconsistent with other pages and caused poor space
distribution. Switch to standard scrollable PageView with PanelView
cards matching the app's existing design pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…reviations

1. Fix PageView > DeviceProvider > HardwareInputPinDialogProvider nesting
   order to match all other screens (was reversed before).

2. Add [MISMATCH] logging with expected/actual values at all 6 address
   comparison points so failures are clearly visible in the run log.

3. Replace abbreviations: PP Switch → Passphrase Switch,
   Special PP → Special Passphrase, ppSwitchResult →
   passphraseWalletSwitchResult, SPECIAL_PP_METHOD_PATHS →
   SPECIAL_PASSPHRASE_METHOD_PATHS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the passphraseWalletSwitch suite entirely as it does not
correspond to any existing test case or Jira ticket. Cleaned up
from types, scenarioCatalog, useAutomationTest, and ScenarioSelector.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolved 6 conflicts favoring the onekey (main) branch:
- InitDurationTest: keep sdk.testInitializeDeviceDuration() call
- LockDeviceTest: keep params?.path direct access
- external-modules.d.ts: keep simplified module declarations
- nostrGetPublicKey/polkadotGetPublicKey: keep path: string | string[] type
- ExportDeviceInfo: keep one-line getFieldValue expression

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Redesign UI: two-column layout (config left, report+logs right), card-style
  checkboxes, collapsible scenario groups, tab-based report/logs toggle
- Add real-time per-case live report via liveReportAtom + effectiveReportAtom
- Fix passphrase bug: add ensurePassphraseState helper that toggles device
  passphrase_protection and obtains passphraseState before SDK calls,
  matching the pattern from SLIP39AddressValidation.tsx

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants