Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8e1c277
feat: add web audio probe
thymikee Jun 25, 2026
552e196
fix: stabilize web audio probe
thymikee Jun 25, 2026
3c3622d
test: cover audio probe review gaps
thymikee Jun 26, 2026
5ec5c99
fix: address audio probe review feedback
thymikee Jun 26, 2026
9a05adc
feat: support macOS audio probe
thymikee Jun 26, 2026
d673b54
docs: document audio probe help
thymikee Jun 26, 2026
a437ab6
feat: support simulator audio probe
thymikee Jun 26, 2026
20826c5
test: account for host audio platform support
thymikee Jun 26, 2026
b646c9c
refactor: deepen audio probe lifecycle
thymikee Jun 26, 2026
7ac888d
perf: trim audio probe package size
thymikee Jun 26, 2026
98516e8
refactor: address audio probe review comments
thymikee Jun 26, 2026
8f54a6f
refactor: remove audio probe leftovers
thymikee Jun 26, 2026
0e05208
fix: encode audio probe eval options as data
thymikee Jun 26, 2026
3d467fc
fix: document audio probe eval sanitization
thymikee Jun 26, 2026
0d6b08d
fix: sanitize audio probe eval options
thymikee Jun 26, 2026
fbc9de5
fix: use codeql-recognized eval option sanitizer
thymikee Jun 26, 2026
faa5db2
fix: allowlist audio probe eval options
thymikee Jun 26, 2026
b004431
fix: avoid json-stringified audio eval action
thymikee Jun 26, 2026
4cf77c1
refactor: trim audio probe input surface
thymikee Jun 29, 2026
3809aef
fix: align audio probe with apple helper paths
thymikee Jun 30, 2026
4f11358
test: update audio capability parity oracle
thymikee Jul 1, 2026
c8a80df
refactor: isolate host audio probe backend
thymikee Jul 1, 2026
8a5d222
fixup! refactor: isolate host audio probe backend
thymikee Jul 1, 2026
57766f8
fixup! refactor: isolate host audio probe backend
thymikee Jul 1, 2026
9e6fcf2
fixup! test: update audio capability parity oracle
thymikee Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ It works with native iOS and Android apps, plus apps built with Expo, Flutter, a

- **Inspect** real app UI through structured accessibility snapshots, interactive refs like `@e3`, selectors, and React Native component trees.
- **Interact** by opening apps, tapping, typing, scrolling, performing gestures, waiting, asserting state, handling alerts, and closing sessions.
- **Capture evidence** with screenshots, videos, logs, traces, network traffic, performance samples, crash context, and React profiles.
- **Capture evidence** with screenshots, videos, logs, traces, network traffic, audio-level probes for browser and host-rendered simulator/emulator audio, performance samples, crash context, and React profiles.
- **Replay workflows** by recording `.ad` scripts for local runs, CI, repeatable e2e checks, and strict Maestro YAML export when a flow needs to run in Maestro.
- **Run across platforms** with iOS Simulator automation, Android Emulator automation, physical devices, tvOS, Android TV, macOS, Linux, and desktop app automation, so agents can see and feel the app they work on.

## Use Cases

- Verify mobile changes on real devices, simulators, and emulators before review or merge.
- Give AI coding agents a real app feedback loop while they implement features.
- Debug regressions with screenshots, logs, traces, network evidence, and crash context.
- Debug regressions with screenshots, logs, traces, network/audio evidence, and crash context.
- Profile performance issues with CPU/memory samples and React render profiles when needed.
- Turn exploratory app interactions into replayable e2e checks for CI.
- Use one agent workflow across native iOS, Android, Expo, Flutter, React Native, TV, and desktop apps.
Expand Down
4 changes: 4 additions & 0 deletions examples/test-app/app/(tabs)/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ export default function TabsLayout() {
<NativeTabs.Trigger.Icon md="fact_check" sf="doc.text.fill" />
<NativeTabs.Trigger.Label>Form</NativeTabs.Trigger.Label>
</NativeTabs.Trigger>
<NativeTabs.Trigger name="audio">
<NativeTabs.Trigger.Icon md="music_note" sf="waveform" />
<NativeTabs.Trigger.Label>Audio</NativeTabs.Trigger.Label>
</NativeTabs.Trigger>
<NativeTabs.Trigger name="settings">
<NativeTabs.Trigger.Icon md="settings" sf="gearshape.fill" />
<NativeTabs.Trigger.Label>Settings</NativeTabs.Trigger.Label>
Expand Down
10 changes: 10 additions & 0 deletions examples/test-app/app/(tabs)/audio.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { AppFrame } from '../../src/components';
import { AudioScreen } from '../../src/screens/AudioScreen';

export default function AudioRoute() {
return (
<AppFrame>
<AudioScreen />
</AppFrame>
);
}
5 changes: 4 additions & 1 deletion examples/test-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@
"@expo/dom-webview": "~56.0.5",
"@expo/metro-runtime": "~56.0.15",
"expo": "~56.0.12",
"expo-audio": "~56.0.12",
"expo-constants": "56.0.18",
"expo-dev-client": "~56.0.20",
"expo-linking": "56.0.14",
"expo-router": "~56.2.11",
"expo-status-bar": "~56.0.4",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-native": "0.85.3",
"react-native-gesture-handler": "^2.31.2",
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "~4.25.2"
"react-native-screens": "~4.25.2",
"react-native-web": "^0.21.2"
},
"devDependencies": {
"@types/react": "~19.2.2",
Expand Down
338 changes: 267 additions & 71 deletions examples/test-app/pnpm-lock.yaml

Large diffs are not rendered by default.

Loading
Loading