Skip to content

feature(perf): Adding perf and support APP_ID config#57

Open
BlueShork wants to merge 13 commits into
mainfrom
feat/perf-tab-multiplatform
Open

feature(perf): Adding perf and support APP_ID config#57
BlueShork wants to merge 13 commits into
mainfrom
feat/perf-tab-multiplatform

Conversation

@BlueShork

Copy link
Copy Markdown
Owner

Pull request

What

Why

Closes #

How

Checklist

  • Title follows Conventional Commits (e.g., feat(inspector): ...)
  • pnpm typecheck && pnpm lint passes
  • cargo fmt --check && cargo clippy -- -D warnings passes
  • cargo test --lib passes
  • New behavior is covered by a test (or a clear note why not)
  • Docs / comments updated where the change is non-obvious
  • No new unwrap() / expect() in production code paths

BlueShork added 13 commits June 29, 2026 00:13
Add an App ID setting that maestro-deck forwards to every run as
`-e APP_ID=<value>`, so flow files referencing ${APP_ID} (the CI
placeholder) run locally without per-file edits. Empty value passes
nothing, preserving prior behavior. Threaded through all four runners
(Android, Web, iOS sim, iOS physical).
Add a 'Billy AI' settings section that lets users override Billy's
system prompt and reset back to the version shipped with the app. The
override is stored as customPrompt|null in a persisted store, so users
who never customize keep receiving the latest embedded prompt across
updates; getEffectiveBillyPrompt() resolves override ?? embedded and is
read fresh on each message.
…title

Add persist version:1 + migrate to panelsStore so that upgrading users
with metrics:true in localStorage have it forced to false exactly once,
honouring the closed-by-default / opening-starts-capture design intent.
Export migratePanelsStore for direct unit-test coverage (3 new tests).
Update RunConsole toggle title from "Toggle performance HUD" to
"Toggle performance panel" to match the visible label.
- Replace deviceConnected with deviceKey (serial:platform:physical) in
  the metrics capture effect so a direct A→B device switch re-runs the
  effect, stopping the old collector and clearing stale samples before
  the new one starts — prevents misattributed data.

- Guard run_loop / run_loop_ios_sim self-clear against stop()→start()
  race: track exit_by_cancel and skip the tokio::spawn self-clear on
  cancel exits, since stop() already .take()s the RUNNING slot.

- Distinguish Ok(None) from Err(e) in ios-sim cpu_mem match: errors
  now increment consecutive_errors and trigger MAX_CONSECUTIVE_ERRORS
  bail with emit_stopped, matching the pid-resolution path.
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