Files
openconcho/packages/desktop/src-tauri/Cargo.toml

22 lines
509 B
TOML
Raw Normal View History

[package]
name = "openconcho"
version = "0.12.0"
edition = "2021"
[lib]
name = "openconcho_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-http = "2"
tauri-plugin-shell = "2"
tauri-plugin-deep-link = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
feat(desktop): auto-discover Honcho instances on localhost (#1) * feat(desktop): auto-discover Honcho instances on localhost First-launch and on-demand discovery of running Honcho instances on 127.0.0.1:8000-8100. Desktop-only — the browser can't port-scan due to CORS, so the scan runs in the Tauri Rust shell. - New Rust command `discover_honcho_instances(start_port?, end_port?)` in src-tauri/src/discover.rs: parallel TCP probe of each port with 150ms connect timeout + 250ms total request budget, looking for a /health endpoint returning `{"status":"ok"}`. - New TS helper `discoverHonchoInstances()` in src/lib/discovery.ts: detects Tauri runtime; web build degrades to an empty result. - `suggestNameForInstance()` fetches the first workspace and derives a friendly name from its id ("neo-personal" -> "Neo"). Used to seed the Name field for each discovered instance. - `DiscoveredInstances` component: list of found instances with editable suggested names + per-row checkbox + "Add N instances" button. Rows are pre-checked by default and filter out already- configured baseUrls. - Wired into `InstancesManager`: - First launch (no instances): renders above the connection-type chooser with autoRun=true. User sees results immediately. - With instances: adds a "Discover instances" button to the list view that opens the discovery flow on demand. - Both paths gate on `isTauri()`; the web build keeps its existing behaviour unchanged. Adds tokio (with net + io-util + time + rt + macros) and futures to the Tauri shell to get async TCP + join_all. Tests: - deriveNameFromWorkspaceId handles hyphenated, multi-segment, and no-hyphen ids * test(desktop): add probe tests including live Hermes stack integration - rejects_inverted_port_range - ignores_ports_with_no_listener - finds_live_hermes_stacks (#[ignore]d; opt-in with --ignored) The ignored test exercises discover_honcho_instances against ports 8000-8010, expecting exactly [8001, 8002, 8003, 8004, 8005]. Verified locally — the probe finds all 5 stacks in <10ms. --------- Co-authored-by: Agents <agents@Jarviss-Mac-mini.local>
2026-05-24 17:01:14 +01:00
tokio = { version = "1", features = ["net", "io-util", "time", "rt", "macros"] }
futures = "0.3"