summaryrefslogtreecommitdiffhomepage
path: root/packages/tauri
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2025-12-11 00:46:07 +0000
committerDavid Hill <[email protected]>2025-12-11 00:46:07 +0000
commita468044c9fb4ece1f1ae4685d46eb875751b66d8 (patch)
treea1879744be543886fa1f50190aff37db8b218c52 /packages/tauri
parentf0274fd29f7301b8ca79b1573b26efd8d08f31d6 (diff)
parentfadeed1fa4caacf34054b231784513a841745766 (diff)
downloadopencode-a468044c9fb4ece1f1ae4685d46eb875751b66d8.tar.gz
opencode-a468044c9fb4ece1f1ae4685d46eb875751b66d8.zip
Merge branch 'dev' of https://github.com/sst/opencode into dev
Diffstat (limited to 'packages/tauri')
-rw-r--r--packages/tauri/src-tauri/capabilities/default.json1
-rw-r--r--packages/tauri/src-tauri/src/lib.rs14
-rw-r--r--packages/tauri/src/index.tsx6
3 files changed, 12 insertions, 9 deletions
diff --git a/packages/tauri/src-tauri/capabilities/default.json b/packages/tauri/src-tauri/capabilities/default.json
index df40065ee..ef5a207b4 100644
--- a/packages/tauri/src-tauri/capabilities/default.json
+++ b/packages/tauri/src-tauri/capabilities/default.json
@@ -7,6 +7,7 @@
"core:default",
"opener:default",
"core:window:allow-start-dragging",
+ "core:webview:allow-set-webview-zoom",
"shell:default",
"updater:default",
"dialog:default",
diff --git a/packages/tauri/src-tauri/src/lib.rs b/packages/tauri/src-tauri/src/lib.rs
index afb34094f..d79932574 100644
--- a/packages/tauri/src-tauri/src/lib.rs
+++ b/packages/tauri/src-tauri/src/lib.rs
@@ -1,5 +1,5 @@
use std::{
- net::SocketAddr,
+ net::{SocketAddr, TcpListener},
process::Command,
sync::{Arc, Mutex},
time::{Duration, Instant},
@@ -18,7 +18,13 @@ fn get_sidecar_port() -> u16 {
.map(|s| s.to_string())
.or_else(|| std::env::var("OPENCODE_PORT").ok())
.and_then(|port_str| port_str.parse().ok())
- .unwrap_or(4096)
+ .unwrap_or_else(|| {
+ TcpListener::bind("127.0.0.1:0")
+ .expect("Failed to bind to find free port")
+ .local_addr()
+ .expect("Failed to get local address")
+ .port()
+ })
}
fn find_and_kill_process_on_port(port: u16) -> Result<(), Box<dyn std::error::Error>> {
@@ -60,6 +66,7 @@ fn spawn_sidecar(app: &AppHandle, port: u16) -> CommandChild {
.shell()
.sidecar("opencode")
.unwrap()
+ .env("OPENCODE_EXPERIMENTAL_ICON_DISCOVERY", "true")
.args(["serve", &format!("--port={port}")])
.spawn()
.expect("Failed to spawn opencode");
@@ -168,7 +175,8 @@ pub fn run() {
.initialization_script(format!(
r#"
window.__OPENCODE__ ??= {{}};
- window.__OPENCODE__.updaterEnabled = {updater_enabled}
+ window.__OPENCODE__.updaterEnabled = {updater_enabled};
+ window.__OPENCODE__.port = {port};
"#
));
diff --git a/packages/tauri/src/index.tsx b/packages/tauri/src/index.tsx
index 6b9ce88e0..c72805fe6 100644
--- a/packages/tauri/src/index.tsx
+++ b/packages/tauri/src/index.tsx
@@ -47,12 +47,6 @@ const platform: Platform = {
},
}
-declare global {
- interface Window {
- __OPENCODE__?: { updaterEnabled?: boolean }
- }
-}
-
render(() => {
onMount(() => {
if (window.__OPENCODE__?.updaterEnabled) runUpdater()