fix: correct tab_autofill command registration typo
Browse files- src-tauri/src/lib.rs +5 -50
src-tauri/src/lib.rs
CHANGED
|
@@ -34,52 +34,9 @@ pub fn run() {
|
|
| 34 |
let query = uri.split('?').nth(1).unwrap_or("");
|
| 35 |
let params: std::collections::HashMap<String, String> = query.split('&').filter_map(|pair| { let (k, v) = pair.split_once('=')?; Some((percent_decode(k), percent_decode(v))) }).collect();
|
| 36 |
match action.as_str() {
|
| 37 |
-
"library" => {
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
let source = params.get("source").cloned();
|
| 41 |
-
let title = params.get("title").cloned();
|
| 42 |
-
tauri::async_runtime::spawn(async move {
|
| 43 |
-
let _ = crate::library::library_add_item(app, url, source, title).await;
|
| 44 |
-
});
|
| 45 |
-
}
|
| 46 |
-
}
|
| 47 |
-
"board" => {
|
| 48 |
-
let url = params.get("url").cloned().unwrap_or_default();
|
| 49 |
-
if !url.is_empty() {
|
| 50 |
-
let source = params.get("source").cloned();
|
| 51 |
-
let title = params.get("title").cloned();
|
| 52 |
-
tauri::async_runtime::spawn(async move {
|
| 53 |
-
match crate::library::library_add_item(app.clone(), url.clone(), source.clone(), title.clone()).await {
|
| 54 |
-
Ok(item) => {
|
| 55 |
-
let _ = crate::board::board_add_image(app.clone(), Some(item.id.clone()), item.data_url.clone(), 120.0, 120.0, 300.0, 200.0);
|
| 56 |
-
// CRITICAL: bridge native child-webview capture into the active React canvas state.
|
| 57 |
-
let _ = app.emit("board://image_added", serde_json::json!({
|
| 58 |
-
"libraryId": item.id,
|
| 59 |
-
"dataUrl": item.data_url,
|
| 60 |
-
"url": item.url,
|
| 61 |
-
"sourceUrl": item.source_url,
|
| 62 |
-
"title": item.title,
|
| 63 |
-
"width": item.width,
|
| 64 |
-
"height": item.height,
|
| 65 |
-
"colors": item.colors
|
| 66 |
-
}));
|
| 67 |
-
}
|
| 68 |
-
Err(e) => {
|
| 69 |
-
let _ = app.emit("board://image_add_failed", serde_json::json!({ "url": url, "error": e }));
|
| 70 |
-
}
|
| 71 |
-
}
|
| 72 |
-
});
|
| 73 |
-
}
|
| 74 |
-
}
|
| 75 |
-
"vault" => {
|
| 76 |
-
let va = params.get("action").cloned().unwrap_or_default();
|
| 77 |
-
match va.as_str() {
|
| 78 |
-
"save-prompt" => { let _ = app.emit("vault://save-prompt", serde_json::json!({"origin": params.get("origin").cloned().unwrap_or_default(), "username": params.get("username").cloned().unwrap_or_default(), "password": params.get("password").cloned().unwrap_or_default()})); }
|
| 79 |
-
"has-login-form" => { let _ = app.emit("vault://login-detected", serde_json::json!({"origin": params.get("origin").cloned().unwrap_or_default(), "fields": params.get("fields").cloned().unwrap_or_default()})); }
|
| 80 |
-
_ => {}
|
| 81 |
-
}
|
| 82 |
-
}
|
| 83 |
_ => {}
|
| 84 |
}
|
| 85 |
tauri::http::Response::builder().status(200).header("Access-Control-Allow-Origin", "*").body(Vec::new()).unwrap()
|
|
@@ -96,7 +53,7 @@ pub fn run() {
|
|
| 96 |
refs_format::refs_export, refs_format::refs_import,
|
| 97 |
projects::projects_list, projects::projects_get_active_id, projects::project_create, projects::project_save, projects::project_load, projects::project_delete, projects::project_rename,
|
| 98 |
browser::capture::browser_capture_viewport, browser::capture::browser_capture_clip, browser::capture::browser_capture_full_page,
|
| 99 |
-
browser::autofill::
|
| 100 |
browser::commands::browser_init, browser::commands::browser_set_visible, browser::commands::browser_hide_all, browser::commands::tab_create, browser::commands::tab_activate, browser::commands::tab_close, browser::commands::tab_restore, browser::commands::tab_navigate, browser::commands::tab_reload, browser::commands::tab_back, browser::commands::tab_forward, browser::commands::tab_zoom, browser::commands::tab_resize, browser::commands::tab_get_all, browser::commands::tab_pin, browser::commands::tab_find, browser::commands::tab_find_clear,
|
| 101 |
browser::context_menu::browser_context_menu,
|
| 102 |
adblock::commands::shield_get_report, adblock::commands::shield_check_url, adblock::commands::shield_cosmetic_css, adblock::commands::shield_toggle_domain, adblock::commands::shield_is_allowed, adblock::commands::shield_update_lists, adblock::commands::shield_add_user_rule, adblock::commands::shield_list_subscriptions,
|
|
@@ -111,9 +68,7 @@ pub fn run() {
|
|
| 111 |
.setup(|app| {
|
| 112 |
#[cfg(desktop)]
|
| 113 |
app.handle().plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
|
| 114 |
-
if let Ok(zoom_mem) = crate::persistence::load_json::<std::collections::HashMap<String, f64>>(app.handle(), "zoom_memory.json") {
|
| 115 |
-
if !zoom_mem.is_empty() { let app_state = app.state::<AppState>(); let mut tabs = app_state.tabs.lock().expect("tabs lock"); tabs.zoom_memory = zoom_mem; }
|
| 116 |
-
}
|
| 117 |
adblock::updater::spawn_updater(app.handle().clone());
|
| 118 |
Ok(())
|
| 119 |
})
|
|
|
|
| 34 |
let query = uri.split('?').nth(1).unwrap_or("");
|
| 35 |
let params: std::collections::HashMap<String, String> = query.split('&').filter_map(|pair| { let (k, v) = pair.split_once('=')?; Some((percent_decode(k), percent_decode(v))) }).collect();
|
| 36 |
match action.as_str() {
|
| 37 |
+
"library" => { let url = params.get("url").cloned().unwrap_or_default(); if !url.is_empty() { let source = params.get("source").cloned(); let title = params.get("title").cloned(); tauri::async_runtime::spawn(async move { let _ = crate::library::library_add_item(app, url, source, title).await; }); } }
|
| 38 |
+
"board" => { let url = params.get("url").cloned().unwrap_or_default(); if !url.is_empty() { let source = params.get("source").cloned(); let title = params.get("title").cloned(); tauri::async_runtime::spawn(async move { match crate::library::library_add_item(app.clone(), url.clone(), source.clone(), title.clone()).await { Ok(item) => { let _ = crate::board::board_add_image(app.clone(), Some(item.id.clone()), item.data_url.clone(), 120.0, 120.0, 300.0, 200.0); let _ = app.emit("board://image_added", serde_json::json!({"libraryId": item.id, "dataUrl": item.data_url, "url": item.url, "sourceUrl": item.source_url, "title": item.title, "width": item.width, "height": item.height, "colors": item.colors})); } Err(e) => { let _ = app.emit("board://image_add_failed", serde_json::json!({"url": url, "error": e})); } } }); } }
|
| 39 |
+
"vault" => { let va = params.get("action").cloned().unwrap_or_default(); match va.as_str() { "save-prompt" => { let _ = app.emit("vault://save-prompt", serde_json::json!({"origin": params.get("origin").cloned().unwrap_or_default(), "username": params.get("username").cloned().unwrap_or_default(), "password": params.get("password").cloned().unwrap_or_default()})); } "has-login-form" => { let _ = app.emit("vault://login-detected", serde_json::json!({"origin": params.get("origin").cloned().unwrap_or_default(), "fields": params.get("fields").cloned().unwrap_or_default()})); } _ => {} } }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
_ => {}
|
| 41 |
}
|
| 42 |
tauri::http::Response::builder().status(200).header("Access-Control-Allow-Origin", "*").body(Vec::new()).unwrap()
|
|
|
|
| 53 |
refs_format::refs_export, refs_format::refs_import,
|
| 54 |
projects::projects_list, projects::projects_get_active_id, projects::project_create, projects::project_save, projects::project_load, projects::project_delete, projects::project_rename,
|
| 55 |
browser::capture::browser_capture_viewport, browser::capture::browser_capture_clip, browser::capture::browser_capture_full_page,
|
| 56 |
+
browser::autofill::tab_autofill,
|
| 57 |
browser::commands::browser_init, browser::commands::browser_set_visible, browser::commands::browser_hide_all, browser::commands::tab_create, browser::commands::tab_activate, browser::commands::tab_close, browser::commands::tab_restore, browser::commands::tab_navigate, browser::commands::tab_reload, browser::commands::tab_back, browser::commands::tab_forward, browser::commands::tab_zoom, browser::commands::tab_resize, browser::commands::tab_get_all, browser::commands::tab_pin, browser::commands::tab_find, browser::commands::tab_find_clear,
|
| 58 |
browser::context_menu::browser_context_menu,
|
| 59 |
adblock::commands::shield_get_report, adblock::commands::shield_check_url, adblock::commands::shield_cosmetic_css, adblock::commands::shield_toggle_domain, adblock::commands::shield_is_allowed, adblock::commands::shield_update_lists, adblock::commands::shield_add_user_rule, adblock::commands::shield_list_subscriptions,
|
|
|
|
| 68 |
.setup(|app| {
|
| 69 |
#[cfg(desktop)]
|
| 70 |
app.handle().plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
|
| 71 |
+
if let Ok(zoom_mem) = crate::persistence::load_json::<std::collections::HashMap<String, f64>>(app.handle(), "zoom_memory.json") { if !zoom_mem.is_empty() { let app_state = app.state::<AppState>(); let mut tabs = app_state.tabs.lock().expect("tabs lock"); tabs.zoom_memory = zoom_mem; } }
|
|
|
|
|
|
|
| 72 |
adblock::updater::spawn_updater(app.handle().clone());
|
| 73 |
Ok(())
|
| 74 |
})
|