Skip to content
Source
Sign inSign up

[Bug]: iOS simulator in the Device panel has no way to open the app switcher #33792

Send to my agent
OpenSebastian-Sole(GitHub profile, opens in a new tab) opened this issue 1 comment

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Steps to reproduce

  1. Boot an iPhone 17 simulator (iOS 27.0) and open it from + → Device.
  2. Open any app on the simulator.
  3. Double-click the Home button in the device controls rail.

Expected behavior

The iOS app switcher opens, so I can see recent apps and swipe one away to force-quit it.

Actual behavior

The simulator goes to the home screen. No app switcher appears. On iOS the rail has no other control that opens it. Android gets a Recents button, and the mobile app has an "App switcher" action on both platforms.

I also tested the client's existing appSwitcher button, which sends app_switcher to serve-sim. I rendered it in the rail for iOS (pressButton("appSwitcher") in DeviceControlsRail.tsx). On this simulator it also does not open the switcher:

  • From inside an app: nothing visible happens.
  • From the home screen: the last app comes back to the front, but the switcher never appears.

Home works on the same session, so input reaches the host. The problem looks like it is in how serve-sim performs app_switcher (and repeated home presses) on iOS 27, not in the web client alone.

Proposed follow-up: when app_switcher works on the iOS host, show the existing App switcher button in the rail for iOS too, labeled "App switcher". Android keeps "Recents". This is a small change in DeviceControlsRail.tsx plus docs/user/devices.md, and I have it ready. I have not opened a PR, because the button does nothing until the host works.

Investigated with Claude Code (Claude Opus 5.5).

Impact

Minor bug or occasional failure

Version or commit

main @ 7171fdd7

Environment

macOS 26.6, Xcode 27.2, iPhone 17 simulator (iOS 27.0), local device host, expo-device-hub 0.19.1

Logs or stack traces

Screenshots, recordings, or supporting files

after-rail.png app-switcher-button-no-switcher.png double-click-home-goes-home.png

Workaround

None found in the Device panel.

  1. Sebastian-Sole(GitHub profile, opens in a new tab) added labelsneeds-triage

  2. Same issue on the v0.1.9 desktop app (local server 0.1.9), macOS 27.0 (arm64), Xcode 27.1, iPhone 18 Pro Max simulator, local device host.

    Double-clicking Home in the Device panel rail does not open the iOS app switcher.

    Additional data point: in Device Hub, against the same kind of simulator, double-clicking the simulated device's Home button opens the app switcher, and so does pressing Cmd+Shift+H twice quickly. So the simulator and host can show the switcher when two Home presses arrive as a real double-press.

    This suggests the gap is in how T3 Code sends a Home press, and that it isn't a hard limitation of the host. In v0.1.9, each rail click goes out as an independent home button message (DeviceControlsRail.tsx → pressButton in packages/client-runtime/src/device/stream.ts). It looks like that message doesn't reach the simulator in a form iOS recognizes as part of a double-press. Device Hub's Home press does. Sending Home the same way Device Hub does may fix the double-click. It may also fix the proposed App switcher button, which could then be two Home presses sent in quick succession.

    Reported via t3 triage with Claude Code (Claude Opus 5.5).

Sign in to join this conversation.