Skip to content

feat: wipe or delete emulators and simulators from TUI and CLI - #74

Merged
dungngminh merged 2 commits into
mainfrom
feat/wipe-delete-device-tui-cli
Oct 16, 2026
Merged

dungngminh merged 2 commits into
mainfrom
feat/wipe-delete-device-tui-cli

Conversation

@dungngminh

@dungngminh dungngminh commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Description

Closes #50.

  • TUI: d wipes a shut-down emulator/simulator's data (apps, settings, snapshots), D deletes it. Both show a confirmation dialog first. Running devices get a "shut it down first (t)" hint; physical devices are ignored. Status bar lists the new keys for shut-down emulators/simulators.
  • CLI: simutil wipe <device-id> and simutil delete <device-id> ask y/N before running; -y/--yes skips the prompt. Physical and running devices are refused with exit 1. Both accept -a/-i like shutdown, and are in the schema catalog and README.
  • Releases simutil 1.2.0 (version, changelog, generated version.dart / changelog_entries.dart).

Uses the existing DeviceService.wipeData / deleteSimulator from simutil_core (already used by the desktop app).

Tests: device list d / D key routing; CLI wipe/delete prompt, decline, --yes, running-device refusal. dart analyze --fatal-infos clean, dart test passes. Not yet tried against a real AVD / simulator.

POW

demo-delete-1792174167234.mp4

Type of Change

  • 🔥 New feature (non-breaking change which adds functionality)
  • ✨ Enhancement (non-breaking change which improves existing functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • 🧹 Code refactor
  • 📝 Documentation
  • 🗑️ Chore
  • 📦 Build configuration change
  • ✅ Test

Summary by CodeRabbit

  • New Features
    • Added options to wipe data from or delete stopped emulators and simulators in the app interface and CLI.
    • Confirmation prompts help prevent accidental actions; use -y or --yes in the CLI to skip them.
    • Restored connected iPhone and iPad visibility in device lists.
  • Bug Fixes
    • Improved update checks for desktop app releases and CLI versions.

TUI: `d` wipes a shut-down emulator/simulator's data, `D` deletes it,
both behind a confirmation dialog. CLI: `simutil wipe <id>` and
`simutil delete <id>` ask y/N first; `-y/--yes` skips the prompt.
Physical and running devices are refused.

Closes #50
@dungngminh dungngminh added feature Features ✨ cli CLI/TUI only: shows in cli-v* release notes labels Oct 16, 2026
@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6c25517c-3507-4a95-a647-4cc2d6330489
📥 Commits

Reviewing files that changed from the base of the PR and between 44cf669 and a8ed36b.

📒 Files selected for processing: 14
  • README.md
  • packages/simutil/CHANGELOG.md
  • packages/simutil/lib/src/cli/cli_catalog.dart
  • packages/simutil/lib/src/cli/cli_device_services.dart
  • packages/simutil/lib/src/cli/commands/destructive_device_commands.dart
  • packages/simutil/lib/src/cli/simutil_command_runner.dart
  • packages/simutil/lib/src/tui/app/simutil_tui_app.dart
  • packages/simutil/lib/src/tui/components/device_list_component.dart
  • packages/simutil/lib/src/version.dart
  • packages/simutil/pubspec.yaml
  • packages/simutil/test/cli/destructive_device_commands_test.dart
  • packages/simutil/test/cli/simutil_command_runner_test.dart
  • packages/simutil/test/tui/components/device_list_component_test.dart
  • packages/simutil_shared/lib/src/changelog_entries.dart
+-----------------------------------------------------------+
| Ultimately, we're all just debugging someone else's code. |
+-----------------------------------------------------------+
  \
   \     /)/)
        ( '')
        /  |
      o(___)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kilo-code-bot

kilo-code-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (14 files)
  • README.md
  • packages/simutil/CHANGELOG.md
  • packages/simutil/lib/src/cli/cli_catalog.dart
  • packages/simutil/lib/src/cli/cli_device_services.dart
  • packages/simutil/lib/src/cli/commands/destructive_device_commands.dart
  • packages/simutil/lib/src/cli/simutil_command_runner.dart
  • packages/simutil/lib/src/tui/app/simutil_tui_app.dart
  • packages/simutil/lib/src/tui/components/device_list_component.dart
  • packages/simutil/lib/src/version.dart
  • packages/simutil/pubspec.yaml
  • packages/simutil/test/cli/destructive_device_commands_test.dart
  • packages/simutil/test/cli/simutil_command_runner_test.dart
  • packages/simutil/test/tui/components/device_list_component_test.dart
  • packages/simutil_shared/lib/src/changelog_entries.dart

Reviewed by free · Input: 28.8K · Output: 1.3K · Cached: 176.7K

@dungngminh
dungngminh merged commit 67bfd1f into main Oct 16, 2026
6 of 7 checks passed
@dungngminh
dungngminh deleted the feat/wipe-delete-device-tui-cli branch October 16, 2026 18:15
@dungngminh dungngminh self-assigned this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI/TUI only: shows in cli-v* release notes feature Features ✨

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: clear data and/or delete emulator/simulator

1 participant