Skip to content

feat(studio): ProbeScript recorder#93

Merged
pbertsch merged 1 commit intomainfrom
feat/studio-recorder
May 3, 2026
Merged

feat(studio): ProbeScript recorder#93
pbertsch merged 1 commit intomainfrom
feat/studio-recorder

Conversation

@pbertsch
Copy link
Copy Markdown
Contributor

@pbertsch pbertsch commented May 3, 2026

Summary

  • ● Record button in the Studio toolbar — starts/stops an interactive recording session
  • Calls probe.start_recording / probe.stop_recording on the connected agent (WebSocket connections only — simulators and emulators)
  • Agent streams probe.recorded_event notifications; Studio converts each to a ProbeScript step and appends it to the editor in real time (with >2s gap → automatic wait N seconds steps)
  • ⌘⇧R keyboard shortcut to toggle recording
  • Red pulsing ■ button while recording; reverts to ● Record on stop
  • On stop: StopRecording() returns the full assembled ProbeScript, reconciling the live preview
  • Note: Physical-device (HTTP) connections return an error; recording requires WebSocket (WS is used by default for simulators/emulators)

Test plan

  • go build ./... passes
  • Frontend builds: npm run build passes in studio/frontend/
  • Connect to iOS simulator → Record button enabled
  • Click Record → button turns red/pulsing, editor shows header
  • Interact with app → steps appear live in editor
  • Click Stop → final assembled script replaces editor content
  • ⌘⇧R starts/stops recording
  • Attempting to record on physical device (HTTP) shows actionable error toast

@pbertsch pbertsch requested a review from a team as a code owner May 3, 2026 00:29
@pbertsch pbertsch merged commit 613a89e into main May 3, 2026
13 checks passed
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.

1 participant