Skip to content

feat(studio): a Settings panel in the device pane for dark mode, font size, language, orientation and deep links - #461

Merged
pbertsch merged 5 commits into
mainfrom
feat/studio-device-settings
Oct 15, 2026
Merged

pbertsch merged 5 commits into
mainfrom
feat/studio-device-settings

Conversation

@pbertsch

Copy link
Copy Markdown
Member

Summary

Studio's device pane gets a Settings button. Its panel changes OS-level settings of the connected emulator or simulator: appearance, font size, app language, orientation (Android) and opening a deep link. It uses the internal/devsettings package added with probe device set, so the allowed values and the quoting are the same as on the command line and in the MCP tool.

  • The frontend never names a device; the Go side applies every change to the device Studio is connected to. WiFi connections and physical iPhones are refused with a reason shown in the panel.
  • The app id defaults to project.app from probe.yaml.
  • New files: studio/devicesettings.go (+ test), studio/frontend/src/device-settings.ts; the header button, the panel container, a little CSS and the Wails bindings are the only edits to existing files.

This is stacked on the probe device set PR and is retargeted to main once that merges.

Test plan

  • Go tests: the eligibility rules (emulator, simulator, physical iPhone, WiFi) and that a change without a connection runs nothing
  • tsc --noEmit and npm run build for the Studio frontend
  • Browser tests 26 and 27 (no device: the panel explains, the call is refused) and 37 (a named simulator: appearance dark and font size accessibility-large are applied and read back with simctl, then restored); the simulator was shut down afterwards
  • CHANGELOG, Studio docs page and studio/README.md updated
  • Not seen in the native Studio window; Android is covered by the shared package tests and the probe device set runs, not by a Studio browser test

pbertsch and others added 2 commits October 14, 2026 23:22
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122FvtGQmjNf8YsduMLvZLh
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122FvtGQmjNf8YsduMLvZLh
@pbertsch
pbertsch requested a review from a team as a code owner October 15, 2026 05:25
pbertsch and others added 2 commits October 14, 2026 23:36
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122FvtGQmjNf8YsduMLvZLh
@pbertsch
pbertsch changed the base branch from feat/device-settings to main October 15, 2026 05:44
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122FvtGQmjNf8YsduMLvZLh
@pbertsch
pbertsch merged commit 919cda9 into main Oct 15, 2026
16 of 18 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