Skip to content

feat(settings): show idb / idb_companion setup status in health check - #150

Open
kitakkun wants to merge 1 commit into
mainfrom
feat/settings-idb-diagnostics
Open

feat(settings): show idb / idb_companion setup status in health check#150
kitakkun wants to merge 1 commit into
mainfrom
feat/settings-idb-diagnostics

Conversation

@kitakkun

Copy link
Copy Markdown
Owner

Summary

Adds idb and idb_companion detection to the General settings Health Check section, alongside the existing ADB row. iOS simulator input control (used by the upcoming Device Mirror plugin, #149) requires both the pip-installed idb client and the brew-installed idb_companion daemon — a two-part setup that is easy to get half-done, so each is shown as its own row.

  • DebuggingToolsDiagnostics gains idbPath / idbCompanionPath (empty = not installed), fetched via a new IdbUtil.kt (well-known locations + PATH lookup).
  • The health-check row layout is extracted into a shared ToolPathRow composable instead of duplicating it three times.
  • Strings added in English and Japanese (idb kept as-is per naming convention).

Test plan

  • :jetwhale-host:feature:settings:build, :jetwhale-host:core:data:build, :jetwhale-host:app:compileKotlin, and spotlessCheck pass
  • Manual: open Settings → General and confirm the three health-check rows (on this machine idb resolves via the pyenv shim and idb_companion shows as not found)

iOS simulator input control (e.g. the Device Mirror plugin) depends on
idb, which is a two-part install (pip client + brew companion) that is
easy to get half-done. Surface both executables in the health check
section alongside the existing ADB row, extracting the shared row
layout into ToolPathRow.
Copilot AI review requested due to automatic review settings July 18, 2026 21:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds iOS tooling visibility to the host app’s Settings → General “Health Check” section, so users can verify idb and idb_companion installation status (needed for upcoming iOS simulator input control features).

Changes:

  • Extend diagnostics/UI state to include idb and idb_companion executable paths.
  • Add IdbUtil for locating idb / idb_companion via common install locations + PATH.
  • Refactor the health-check UI into a reusable ToolPathRow and add new localized strings (EN/JA).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
jetwhale-host/feature/settings/src/main/kotlin/com/kitakkun/jetwhale/host/settings/general/GeneralSettingsScreenUiState.kt Adds idbPath / idbCompanionPath to UI state.
jetwhale-host/feature/settings/src/main/kotlin/com/kitakkun/jetwhale/host/settings/general/GeneralSettingsScreenPresenter.kt Wires new diagnostics fields into UI state.
jetwhale-host/feature/settings/src/main/kotlin/com/kitakkun/jetwhale/host/settings/general/GeneralSettingsScreen.kt Renders 3 health-check rows via new ToolPathRow composable.
jetwhale-host/feature/settings/src/main/composeResources/values/strings.xml Adds English strings for idb/idb_companion rows.
jetwhale-host/feature/settings/src/main/composeResources/values-ja/strings.xml Adds Japanese strings for idb/idb_companion rows.
jetwhale-host/core/model/src/main/kotlin/com/kitakkun/jetwhale/host/model/DebuggingToolsDiagnostics.kt Extends diagnostics model with idb/idb_companion paths.
jetwhale-host/core/data/src/main/kotlin/com/kitakkun/jetwhale/host/data/util/IdbUtil.kt Implements executable discovery for idb and idb_companion.
jetwhale-host/core/data/src/main/kotlin/com/kitakkun/jetwhale/host/data/settings/DefaultDiagnosticsQueryKey.kt Populates the new diagnostics fields using IdbUtil.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +5 to +7
// Empty when the tool is not installed.
val idbPath: String,
val idbCompanionPath: String,
Comment on lines +159 to +163
ToolPathRow(
label = stringResource(Res.string.adb_executable_path),
path = uiState.adbPath,
unavailableText = stringResource(Res.string.adb_unavailable),
)
@kitakkun kitakkun added feature host Indicates that it is reiated to the host(debugger application)-side implementation. labels Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature host Indicates that it is reiated to the host(debugger application)-side implementation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants