agent: rust — add preferences webview injection for zero-flash hydration
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
use tauri::{Emitter, Manager, WebviewUrl, WebviewWindowBuilder};
|
||||
|
||||
use crate::PreferencesScript;
|
||||
|
||||
/// Open a floating always-on-top task window.
|
||||
#[tauri::command]
|
||||
pub async fn open_task_window(
|
||||
@@ -13,7 +15,7 @@ pub async fn open_task_window(
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
WebviewWindowBuilder::new(
|
||||
let mut builder = WebviewWindowBuilder::new(
|
||||
&app,
|
||||
"tasks-float",
|
||||
WebviewUrl::App("/float".into()),
|
||||
@@ -23,9 +25,16 @@ pub async fn open_task_window(
|
||||
.min_inner_size(400.0, 400.0)
|
||||
.always_on_top(true)
|
||||
.decorations(false)
|
||||
.resizable(true)
|
||||
.build()
|
||||
.map_err(|e| e.to_string())?;
|
||||
.resizable(true);
|
||||
|
||||
// Inject preferences before Svelte mounts
|
||||
if let Some(script) = app.try_state::<PreferencesScript>() {
|
||||
if !script.0.is_empty() {
|
||||
builder = builder.initialization_script(&script.0);
|
||||
}
|
||||
}
|
||||
|
||||
builder.build().map_err(|e| e.to_string())?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
@@ -41,7 +50,7 @@ pub async fn open_viewer_window(
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
WebviewWindowBuilder::new(
|
||||
let mut builder = WebviewWindowBuilder::new(
|
||||
&app,
|
||||
"transcript-viewer",
|
||||
WebviewUrl::App("/viewer".into()),
|
||||
@@ -50,9 +59,16 @@ pub async fn open_viewer_window(
|
||||
.inner_size(600.0, 700.0)
|
||||
.min_inner_size(450.0, 500.0)
|
||||
.decorations(false)
|
||||
.resizable(true)
|
||||
.build()
|
||||
.map_err(|e| e.to_string())?;
|
||||
.resizable(true);
|
||||
|
||||
// Inject preferences before Svelte mounts
|
||||
if let Some(script) = app.try_state::<PreferencesScript>() {
|
||||
if !script.0.is_empty() {
|
||||
builder = builder.initialization_script(&script.0);
|
||||
}
|
||||
}
|
||||
|
||||
builder.build().map_err(|e| e.to_string())?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user