ControlRoom icon indicating copy to clipboard operation
ControlRoom copied to clipboard

Show preview and testing devices

Open SeanRobinson159 opened this issue 8 months ago • 0 comments

New Feature

In this PR I added the ability to interact with both Preview simulators and Testing (clone) simulators. Having the ability to manage preview and testing simulators can be very helpful during development.

[!WARNING] This is not a complete implementation. There are bugs throughout the app when a preview or testing simulator is selected. Certain actions are not available.

[!IMPORTANT] This is where I am asking for help to polish the app to get this merged into the main codebase. That is why I have created this as a draft pull request.

Copilot Summary

This pull request introduces a new concept of "Device Groups" to the ControlRoom application, allowing users to group and filter simulators based on predefined categories such as "Default," "Testing," and "Previews." The changes span multiple files, adding support for this feature in the user interface, preferences, and simulator management logic.

Device Group Feature:

  • New DeviceGroup Enum: Introduced a DeviceGroup enum in SimCtl+Types.swift to define groups like .default, .testing, and .previews, each with a displayName and associated commands. This provides a structured way to handle device group configurations.

  • Device Group in Preferences: Added a new @AppStorage property deviceGroup in Preferences.swift to persist the selected device group across app launches.

  • Command Updates for Device Groups: Modified the SimCtl.Command initializer in SimCtl+SubCommands.swift to include device group-specific commands, enabling the appropriate configuration for each group.

Integration with Simulators:

  • Simulator Loading Logic: Updated SimulatorsController.swift to reload simulators when the selected device group changes, ensuring the displayed simulators match the current group setting. [1] [2]

User Interface Enhancements:

  • Device Group Picker in Sidebar: Added a Picker to the SidebarView.swift toolbar, allowing users to select the desired device group directly from the sidebar UI.

SeanRobinson159 avatar Apr 18 '25 19:04 SeanRobinson159