Relay pairing offer v2 (E2EE) + host connections

This commit is contained in:
Mohamed Boudra
2026-02-04 22:53:00 +07:00
parent 9ce4ad9758
commit 0218729316
59 changed files with 2022 additions and 1547 deletions
+9 -3
View File
@@ -1,11 +1,13 @@
appId: com.moboudra.paseo
# NOTE: Maestro requires a config section for every flow file, even when used
# via `runFlow`. Keep this aligned with the dev build application id.
appId: com.moboudra.paseo.dev
---
# Reusable flow to handle dev client screens after launchApp
# Works with both release builds (no-ops) and dev builds
# Handle dev launcher - tap localhost server (dev builds only)
- tapOn:
text: ".*localhost.*"
text: ".*(localhost|127\\.0\\.0\\.1|10\\.0\\.2\\.2|192\\.168\\.).*"
optional: true
# Dismiss dev menu intro modal
@@ -23,4 +25,8 @@ appId: com.moboudra.paseo
- tapOn:
point: "50%,20%"
- assertVisible: "New Agent"
- runFlow:
when:
visible: "Welcome to Paseo"
commands:
- assertVisible: "Welcome to Paseo"
+18
View File
@@ -0,0 +1,18 @@
appId: com.moboudra.paseo.dev
---
- launchApp:
clearState: true
- runFlow: flows/launch.yaml
- tapOn: "Paste pairing link"
- tapOn:
text: "https://app.paseo.sh/#offer=..."
- eraseText
- inputText: ${PAIRING_OFFER_URL}
- tapOn: "Pair"
- assertVisible: "New Agent"
# Confirm we actually connected (relay is the only available connection).
- assertVisible: "Online"
@@ -0,0 +1,50 @@
appId: com.moboudra.paseo.dev
---
- launchApp:
clearState: true
- runFlow: flows/launch.yaml
- tapOn: "Paste pairing link"
- tapOn:
text: "https://app.paseo.sh/#offer=..."
- eraseText
- inputText: ${PAIRING_OFFER_URL}
- tapOn: "Pair"
- extendedWaitUntil:
visible: "New agent"
timeout: 20000
# Open settings and ensure we're connected (initially via relay).
- tapOn:
point: "8%,6%"
- extendedWaitUntil:
visible:
id: "sidebar-voice"
timeout: 10000
- tapOn:
point: "92%,94%"
- extendedWaitUntil:
visible: "Settings"
timeout: 20000
- extendedWaitUntil:
visible: "Connected via relay"
timeout: 20000
# Add a direct connection and ensure we prefer it when available.
- tapOn: "Edit"
- extendedWaitUntil:
visible: "Edit host"
timeout: 10000
- tapOn:
text: "192.168.1.10:6767"
- eraseText
- inputText: ${DIRECT_ENDPOINT}
- tapOn: "Add"
- tapOn: "Save"
- extendedWaitUntil:
visible: "Connected via ${DIRECT_ENDPOINT}"
timeout: 30000