aboutsummaryrefslogtreecommitdiff
path: root/src/integration/actions.rs
diff options
context:
space:
mode:
authorMark Jaquith <mark.jaquith@gusto.com>2026-09-11 16:36:18 -0400
committerGitHub <noreply@github.com>2026-09-11 22:36:18 +0200
commitfb5525fc2234a246dfdfc9e0d7ed73c824cbd8a6 (patch)
treef989f8175e8afdd89824fd94477b1b1645af05ff /src/integration/actions.rs
parent38d002de59331b27aee2f5838639ea27a04878f8 (diff)
fix: opencode v2 lifecycle reporting (#3757)
* fix: support opencode v2 lifecycle reporting * fix: repair Japanese docs * fix: ignore payload-less OpenCode events * fix: harden opencode v2 integration install and reporting Follow-ups on top of the V2 lifecycle support: - create `cli.json` when OpenCode has no V1 TUI preferences (`tui.json` or `kv.json`) to migrate, instead of only registering into an existing file - settle stalled socket attempts with a plain connect timer, and resend the latest lifecycle state after a failed delivery so the pane cannot get stuck - resolve the OpenCode state directory from `XDG_STATE_HOME` - remove the managed `herdr-opencode` directory on uninstall - document failed executions reporting `blocked`, keep the integration test environment independent of an inherited `XDG_STATE_HOME`, and simplify `reconcileBlockers` to reassign its map --------- Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
Diffstat (limited to 'src/integration/actions.rs')
-rw-r--r--src/integration/actions.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/integration/actions.rs b/src/integration/actions.rs
index 24d1f9e3..e8b3ab63 100644
--- a/src/integration/actions.rs
+++ b/src/integration/actions.rs
@@ -144,7 +144,7 @@ fn install_target_inner(target: crate::api::schema::IntegrationTarget) -> io::Re
}
crate::api::schema::IntegrationTarget::Opencode => {
let installed = install_opencode()?;
- vec![
+ let mut messages = vec![
format!(
"installed opencode integration plugin to {}",
installed.plugin_path.display()
@@ -157,7 +157,14 @@ fn install_target_inner(target: crate::api::schema::IntegrationTarget) -> io::Re
"ensured opencode tui plugin config at {}",
installed.tui_config_path.display()
),
- ]
+ ];
+ if installed.cli_config_path.is_none() {
+ messages.push(
+ "to enable OpenCode V2, start opencode2 once, then reinstall this integration"
+ .to_string(),
+ );
+ }
+ messages
}
crate::api::schema::IntegrationTarget::Kilo => {
let installed = install_kilo()?;