Files
adolf/apps/ios/APP-REVIEW-NOTES.md
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

5.6 KiB

App Review Notes

Use these steps to exercise the live OpenClaw iOS App Review Gateway.

Demo Account / Setup

Use the OpenClaw iOS app with the live review Gateway setup code included in the Notes field of this App Review submission.

The setup code is a single generated code string. It already contains the public Gateway host and setup credential.

Setup Walkthrough

  1. Open the OpenClaw app.
  2. Tap Continue.
  3. On Connect Gateway, tap Set Up Manually.
  4. In the Setup Code section, tap the Paste setup code field.
  5. Paste the setup code string from the App Review submission Notes field.
  6. Tap Apply Setup Code.
  7. If Trust and connect appears, tap Trust and connect.
  8. Wait for the Connected screen.
  9. On Connected, tap Open OpenClaw.
  10. Confirm the Control screen shows Gateway Online.
  11. Tap Settings.
  12. Tap Approvals.
  13. Tap Open Notifications.
  14. Tap Enable Notifications.
  15. On Enable OpenClaw Hosted Push Relay?, tap Continue.
  16. If iOS asks whether OpenClaw may send notifications, tap Allow.
  17. Confirm Notifications shows Enabled.

Chat

  1. Tap the Chat tab.
  2. Tap the text field labeled Message main....
  3. Send this exact message:
Start Apple review checklist.

Expected result: the assistant replies with the available App Review demos.

Approval Demo

  1. Tap the Chat tab.
  2. Tap the text field labeled Message main....
  3. Send this exact message:
Run the approval demo.

Expected result: the iPhone shows Exec approval required with the harmless command printf 'OpenClaw App Review approval demo complete\n'. Tap Allow Once. The chat then replies:

The approval demo completed.

Talk

  1. Tap the Talk tab.
  2. Tap Start Talk.
  3. If iOS asks for microphone access, tap Allow.
  4. If iOS asks for Speech Recognition access, tap Allow.
  5. Confirm the screen changes to Ready to talk and shows Stop Talk.
  6. Say:
Summarize this review setup in one sentence.

Expected result: the assistant responds by voice. Tap Stop Talk when done.

Talk + Background Audio

  1. Tap the Talk tab.
  2. Confirm the speaker button is highlighted.
  3. Confirm the background-listening button is highlighted.
  4. Tap Start Talk.
  5. If iOS asks for microphone access, tap Allow.
  6. If iOS asks for Speech Recognition access, tap Allow.
  7. Confirm Stop Talk is visible.
  8. Say:
Tell me when you can hear me.
  1. While Talk is active, send OpenClaw to the background by returning to the Home Screen or locking the iPhone. Do not force quit the app.
  2. Continue speaking then wait for assistant audio reply.

Expected result: realtime Talk audio continues while OpenClaw is backgrounded. Reopen OpenClaw, confirm Talk is still active, then tap Stop Talk.

Gateway Status

  1. Tap Control.
  2. Tap Instances.
  3. Confirm the screen shows Gateway online.
  4. Confirm at least one agent row is connected.
  5. Confirm the iPhone review device appears in the connected instances list.

Live Activity / Dynamic Island

  1. Tap Settings.
  2. Tap Reconnect.
  3. Immediately send OpenClaw to the background by returning to the Home Screen or locking the iPhone.
  4. Watch the Lock Screen or Dynamic Island while the Gateway reconnects.

Expected result: while reconnecting, iOS can show an OpenClaw Live Activity with connection status such as Connecting... or Reconnecting.... On a fast network this status may be brief because OpenClaw ends the Live Activity after the Gateway reconnects successfully.

Push Notification

  1. Tap the Chat tab.
  2. Tap the text field labeled Message main....
  3. Send this exact message:
Start push notification demo.
  1. Immediately send OpenClaw to the background and lock the iPhone. Do not force quit the app.

Expected result: the iPhone Lock Screen receives a visible OpenClaw notification with this body:

OpenClaw App Review push notification demo

Tap the notification and unlock the iPhone if prompted. If OpenClaw opens on Control, tap Chat. Expected chat reply:

The push notification demo completed.

Push Wake / Status

  1. Tap the Chat tab.
  2. Send this exact message:
Start push wake demo.
  1. Immediately send OpenClaw to the background and lock the iPhone. Do not force quit the app.
  2. Wait for the OpenClaw notification on the Lock Screen. It normally appears about 10 seconds after the message is sent.
  3. Tap the notification and unlock the iPhone if prompted. If OpenClaw opens on Control, tap Chat.

Expected result: the app reconnects to the live Gateway and Chat replies:

The push wake and node status demo completed.

Device Permissions

  1. Tap Settings.
  2. Tap Permissions.
  3. Confirm these current app controls are available:
    • Camera
    • Location with Off, While Using, and Always
    • Keep Awake
  4. Expand Privacy & Access.
  5. Confirm these request controls are available:
    • Contacts / Request Access
    • Calendar (Add Events) / Request Access
    • Calendar (View Events) / Request Full Access
    • Reminders / Request Access

Share Sheet

  1. Open Safari.
  2. Navigate to https://example.com.
  3. Tap the Safari toolbar More button.
  4. Tap Share.
  5. Tap OpenClaw.
  6. Confirm the OpenClaw share extension appears and shows Edit text, then tap Send. and Send to OpenClaw.
  7. Tap Send to OpenClaw.

Expected result: the OpenClaw share extension sends the shared Safari page to the live review Gateway and shows Sent to OpenClaw. Returning to OpenClaw Chat shows the shared Example Domain page.