Skip to content

OpenCode v1.1.59#372

Open
kevinvandijk wants to merge 21 commits intodevfrom
kevinvandijk/kilo-opencode-v1.1.59
Open

OpenCode v1.1.59#372
kevinvandijk wants to merge 21 commits intodevfrom
kevinvandijk/kilo-opencode-v1.1.59

Conversation

@kevinvandijk
Copy link
Collaborator

@kevinvandijk kevinvandijk commented Feb 17, 2026

Desktop

  • Add translations support to the application
  • Add more end-to-end tests for the application
  • Fixed sidebar remounting issue

@blacksmith-sh
Copy link

blacksmith-sh bot commented Feb 17, 2026

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
e2e\projects\projects-close.spec.ts/
closing active project navigates to another open project
View Logs

Fix in Cursor

@kevinvandijk kevinvandijk marked this pull request as draft February 17, 2026 13:17
use tauri_plugin_store::StoreExt;
use tokio::sync::oneshot;

use crate::constants::{SETTINGS_STORE, WSL_ENABLED_KEY};
Copy link
Contributor

Choose a reason for hiding this comment

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

CRITICAL: WSL_ENABLED_KEY is imported but not defined in constants.rs

create_command() now references WSL_ENABLED_KEY, but packages/desktop/src-tauri/src/constants.rs currently only defines SETTINGS_STORE, DEFAULT_SERVER_URL_KEY, and UPDATER_ENABLED. This will fail to compile unless the constant is added (or the import is corrected to the module that defines it).

resolve_windows_app_path(app_name).is_some()
fn check_windows_app(_app_name: &str) -> bool {
// Check if command exists in PATH, including .exe
return true;
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: Windows app existence check now always returns true

check_windows_app() returning true unconditionally means callers will think any app exists, even when it doesn’t. That can break UX flows that depend on accurate detection (and may mask configuration problems). Consider restoring a real check (e.g., resolve_windows_app_path(app_name).is_some()).

}

let resolved = PathBuf::from(expand_env(&exe));
let resolved = PathBuf::from(token);
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: .cmd/.bat resolution no longer expands environment variables

token extracted from a script can commonly contain %ProgramFiles%, %LOCALAPPDATA%, etc. Converting directly via PathBuf::from(token) will treat those literally, so resolution will fail even when the target exists. Consider reintroducing environment-variable expansion for Windows paths (or using a more robust parser for command wrappers).

kilo: `./bin/kilo`,
kilocode: `./bin/kilo`,
// kilocode_change end
[pkg.name]: `./bin/${pkg.name}`,
Copy link
Contributor

Choose a reason for hiding this comment

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

CRITICAL: bin entry uses a scoped package name as command + path

Here pkg.name is @kilocode/cli (contains /). Using it as the bin key creates an invalid command name, and ./bin/${pkg.name} becomes ./bin/@kilocode/cli (invalid path and doesn’t match the built binary name like opencode). This likely makes the published package unusable. Suggest deriving the binary name from package.json’s bin map (e.g. opencode) rather than pkg.name.

@kiloconnect
Copy link
Contributor

kiloconnect bot commented Feb 17, 2026

Code Review Summary

Status: 10 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 3
WARNING 7
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
packages/desktop/src-tauri/src/cli.rs 9 WSL_ENABLED_KEY is imported from constants but not defined there — will fail to compile
packages/desktop/src-tauri/src/windows.rs 3 get_wsl_config is imported from server but does not exist in that module — will fail to compile
packages/opencode/script/publish.ts N/A bin entry uses a scoped package name as command name

WARNING

File Line Issue
packages/desktop/src-tauri/src/cli.rs 12 Reverts kilocode_change — binary name changed from kilo to opencode
packages/desktop/src-tauri/src/cli.rs 72 Reverts kilocode_change — temp script name changed from kilo-install.sh to opencode-install.sh
packages/desktop/src-tauri/src/cli.rs 211 WSL binary path hardcoded as $HOME/.opencode/bin/opencode but Kilo install script installs to $HOME/.kilo/bin/kilo — binary will never be found
packages/desktop/src-tauri/src/cli.rs 285 Reverts kilocode_change — server username changed from kilo to opencode
packages/desktop/src-tauri/src/cli.rs 295 Reverts kilocode_change — error message changed from kilo to opencode
packages/desktop/src-tauri/src/lib.rs 160 check_windows_app now always returns true — app existence check is bypassed
packages/desktop/src-tauri/src/lib.rs 222 .cmd/.bat resolution no longer expands environment variables
Files Reviewed (32 files)
  • packages/app/e2e/app/titlebar-history.spec.ts - 0 issues (new tests)
  • packages/app/e2e/files/file-tree.spec.ts - 0 issues (test improvements)
  • packages/app/e2e/projects/projects-close.spec.ts - 0 issues (test refactor)
  • packages/app/e2e/projects/workspaces.spec.ts - 0 issues (test updates)
  • packages/app/e2e/session/session-undo-redo.spec.ts - 0 issues
  • packages/app/e2e/settings/settings-keybinds.spec.ts - 0 issues
  • packages/app/e2e/settings/settings.spec.ts - 0 issues
  • packages/app/e2e/sidebar/sidebar.spec.ts - 0 issues
  • packages/app/src/components/session/session-header.tsx - 0 issues (simplified open logic)
  • packages/app/src/i18n/*.ts - 0 issues (i18n additions)
  • packages/app/src/pages/layout.tsx - 0 issues (terminal cleanup + sidebar fix)
  • packages/app/src/pages/layout/sidebar-items.tsx - 0 issues (formatting)
  • packages/desktop/src-tauri/src/cli.rs - 6 issues
  • packages/desktop/src-tauri/src/lib.rs - 2 issues
  • packages/desktop/src-tauri/src/windows.rs - 1 issue
  • packages/opencode/package.json - 0 issues (dep reordering)
  • packages/opencode/src/cli/cmd/tui/routes/home.tsx - 0 issues (layout fix)

Fix these issues in Kilo Cloud

@kevinvandijk kevinvandijk force-pushed the kevinvandijk/kilo-opencode-v1.1.59 branch from 1538865 to 81c490f Compare February 17, 2026 16:36
@kevinvandijk kevinvandijk force-pushed the kevinvandijk/kilo-opencode-v1.1.59 branch from 81c490f to 7b5478a Compare February 17, 2026 17:52
kevinvandijk and others added 2 commits February 17, 2026 18:57
Co-authored-by: Catriel Müller <catrielmuller@gmail.com>
@kevinvandijk kevinvandijk marked this pull request as ready for review February 17, 2026 20:14
use crate::constants::{UPDATER_ENABLED, window_state_flags};
use crate::{
constants::{UPDATER_ENABLED, window_state_flags},
server::get_wsl_config,
Copy link
Contributor

Choose a reason for hiding this comment

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

CRITICAL: get_wsl_config is imported from server but this function does not exist in server.rs. This will cause a compilation error.

A get_wsl_config function needs to be added to packages/desktop/src-tauri/src/server.rs that returns a struct with an enabled: bool field, or this import and usage (line 28) should be removed/replaced.


const CLI_INSTALL_DIR: &str = ".kilo/bin";
const CLI_BINARY_NAME: &str = "kilo"; // kilocode_change
const CLI_BINARY_NAME: &str = "opencode";
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: This reverts a kilocode_change — the binary name was previously changed from "opencode" to "kilo" for Kilo branding. This upstream merge has overwritten that change.

Suggested change
const CLI_BINARY_NAME: &str = "opencode";
const CLI_BINARY_NAME: &str = "kilo"; // kilocode_change

}

let temp_script = std::env::temp_dir().join("kilo-install.sh"); // kilocode_change
let temp_script = std::env::temp_dir().join("opencode-install.sh");
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: This reverts a kilocode_change — the temp script name was previously "kilo-install.sh". This upstream merge has overwritten that change.

Suggested change
let temp_script = std::env::temp_dir().join("opencode-install.sh");
let temp_script = std::env::temp_dir().join("kilo-install.sh"); // kilocode_change

tracing::info!(port, "Spawning sidecar");

let envs = [
("KILO_SERVER_USERNAME", "opencode".to_string()),
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: This reverts a kilocode_change — the server username was previously "kilo". This upstream merge has overwritten that change.

Suggested change
("KILO_SERVER_USERNAME", "opencode".to_string()),
("KILO_SERVER_USERNAME", "kilo".to_string()),

.env("KILO_SERVER_PASSWORD", password) // kilocode_change
.spawn()
.expect("Failed to spawn kilo"); // kilocode_change
.expect("Failed to spawn opencode");
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: This reverts a kilocode_change — the error message previously referenced "kilo" instead of "opencode".

Suggested change
.expect("Failed to spawn opencode");
.expect("Failed to spawn kilo"); // kilocode_change

@kevinvandijk kevinvandijk force-pushed the kevinvandijk/kilo-opencode-v1.1.59 branch from b8fc355 to c845e6a Compare February 17, 2026 20:17
let version = app.package_info().version.to_string();
let mut script = vec![
"set -e".to_string(),
"BIN=\"$HOME/.opencode/bin/opencode\"".to_string(),
Copy link
Contributor

Choose a reason for hiding this comment

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

WARNING: This reverts a kilocode_change — the WSL binary path is hardcoded as $HOME/.opencode/bin/opencode, but the native install uses CLI_INSTALL_DIR = ".kilo/bin" (line 11) and the install URL is https://kilo.ai/install. The Kilo install script likely installs to $HOME/.kilo/bin/kilo, not $HOME/.opencode/bin/opencode, so the WSL binary will never be found after installation.

Suggested change
"BIN=\"$HOME/.opencode/bin/opencode\"".to_string(),
"BIN=\"$HOME/.kilo/bin/kilo\"".to_string(),

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants