Skip to content

feat(studio): batch v0.7.1 — security deps, WiFi token memory, workspace settings, diagnostics#92

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

feat(studio): batch v0.7.1 — security deps, WiFi token memory, workspace settings, diagnostics#92
pbertsch merged 1 commit intomainfrom
feat/studio-diagnostics

Conversation

@pbertsch
Copy link
Copy Markdown
Contributor

@pbertsch pbertsch commented May 3, 2026

Summary

  • Security: Bump 8 vulnerable dependencies (vite, @vscode/vsce, golang.org/x/crypto, net, sys, text)
  • WiFi token memory: Studio remembers per-device WiFi auth tokens in localStorage; shows 🔑 indicator + forget button on reconnect
  • Workspace settings overlay: ⚙ button opens modal to edit probe.yaml (port, timeout, iOS UDID, Android serial) with key-preserving save
  • Diagnostics polish: enrichError() maps raw errors to actionable hints (iproxy, adb, PROBE_AGENT); inspector search with live scroll; status tooltips

These were planned as v0.7.1 but folded into v0.8.0 — releasing them now to keep main clean ahead of the recorder + AI chat work.

Test plan

  • go build ./... passes
  • go test ./... passes
  • Studio builds: cd studio && npm run build passes in frontend, go build . passes
  • WiFi connect → token saved in localStorage; reopen overlay → 🔑 shown
  • ⚙ Settings overlay opens, saves/loads probe.yaml without destroying unknown keys
  • Connect failure shows actionable error hint in status bar tooltip
  • Inspector search scrolls to first match

Three small improvements that make Studio less mysterious when things
go wrong.

1. enrichError(msg) — when a connection fails, the toast/status now
   includes a one-line actionable hint. Today's errors are honest
   ("iproxy not found") but leave the user to look up the fix; the
   enriched output ("Fix: brew install libimobiledevice") closes that
   gap. Patterns covered: iproxy/idevicesyslog missing, adb missing,
   token timeout/not found, missing PROBE_AGENT define, connection
   refused/reset.

2. Status indicator tooltip — the dot + status text now have a title
   attribute showing device id, transport (USB / WiFi), and last
   error. Hover over the indicator to see what Studio is actually
   connected to without taking up toolbar space.

3. Inspector search box — text input in the inspector pane title
   scrolls the <pre> to the first line containing the query.
   MutationObserver re-anchors the scroll on each live frame from the
   device stream, so the matched line doesn't jump back to the top
   when the tree refreshes.

Pure frontend change.
@pbertsch pbertsch requested a review from a team as a code owner May 3, 2026 00:22
@pbertsch pbertsch merged commit 1023fd4 into main May 3, 2026
27 checks passed
@pbertsch pbertsch mentioned this pull request May 3, 2026
6 tasks
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