fix: remove unused RECENT_CAPTURE_KEYS static, add global toast event for toolbar exports
Browse files
src-tauri/src/browser/commands.rs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
use std::collections::
|
| 2 |
use std::sync::{Mutex, OnceLock};
|
| 3 |
use tauri::webview::{PageLoadEvent, WebviewBuilder};
|
| 4 |
use tauri::{AppHandle, Emitter, LogicalPosition, LogicalSize, Manager, Url, WebviewUrl};
|
|
@@ -11,7 +11,6 @@ use crate::adblock::scripts;
|
|
| 11 |
use crate::state::AppState;
|
| 12 |
|
| 13 |
static SEEN_CAPTURE_IDS: OnceLock<Mutex<HashSet<String>>> = OnceLock::new();
|
| 14 |
-
static RECENT_CAPTURE_KEYS: OnceLock<Mutex<HashMap<String, i64>>> = OnceLock::new();
|
| 15 |
|
| 16 |
const CONTEXT_MENU_BLOCK_JS: &str = r#"
|
| 17 |
(function(){
|
|
@@ -75,7 +74,7 @@ pub(crate) async fn create_tab_inner(app:&AppHandle,url:&str,_layout:&ViewportLa
|
|
| 75 |
|
| 76 |
fn handle_muse_action(app:&AppHandle,raw:&str){
|
| 77 |
let rest=raw.trim_start_matches("muse-action://"); let (action,query)=rest.split_once('?').unwrap_or((rest,""));
|
| 78 |
-
let params:HashMap<String,String>=query.split('&').filter_map(|pair|{let(k,v)=pair.split_once('=')?;Some((percent_decode(k),percent_decode(v)))}).collect();
|
| 79 |
let capture_id=params.get("captureId").cloned().unwrap_or_default();
|
| 80 |
if !capture_id.is_empty(){let seen=SEEN_CAPTURE_IDS.get_or_init(||Mutex::new(HashSet::new()));if let Ok(mut s)=seen.lock(){if s.contains(&capture_id){return;}s.insert(capture_id.clone());if s.len()>512{if let Some(first)=s.iter().next().cloned(){s.remove(&first);}}}}
|
| 81 |
let url=params.get("url").cloned().unwrap_or_default(); if url.is_empty(){return;}
|
|
|
|
| 1 |
+
use std::collections::HashSet;
|
| 2 |
use std::sync::{Mutex, OnceLock};
|
| 3 |
use tauri::webview::{PageLoadEvent, WebviewBuilder};
|
| 4 |
use tauri::{AppHandle, Emitter, LogicalPosition, LogicalSize, Manager, Url, WebviewUrl};
|
|
|
|
| 11 |
use crate::state::AppState;
|
| 12 |
|
| 13 |
static SEEN_CAPTURE_IDS: OnceLock<Mutex<HashSet<String>>> = OnceLock::new();
|
|
|
|
| 14 |
|
| 15 |
const CONTEXT_MENU_BLOCK_JS: &str = r#"
|
| 16 |
(function(){
|
|
|
|
| 74 |
|
| 75 |
fn handle_muse_action(app:&AppHandle,raw:&str){
|
| 76 |
let rest=raw.trim_start_matches("muse-action://"); let (action,query)=rest.split_once('?').unwrap_or((rest,""));
|
| 77 |
+
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();
|
| 78 |
let capture_id=params.get("captureId").cloned().unwrap_or_default();
|
| 79 |
if !capture_id.is_empty(){let seen=SEEN_CAPTURE_IDS.get_or_init(||Mutex::new(HashSet::new()));if let Ok(mut s)=seen.lock(){if s.contains(&capture_id){return;}s.insert(capture_id.clone());if s.len()>512{if let Some(first)=s.iter().next().cloned(){s.remove(&first);}}}}
|
| 80 |
let url=params.get("url").cloned().unwrap_or_default(); if url.is_empty(){return;}
|