mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-25 10:18:31 +02:00
Add labels to plugin event subscribers
This commit is contained in:
@@ -442,7 +442,6 @@ pub async fn send_http_request<R: Runtime>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Write body to FS
|
// Write body to FS
|
||||||
println!("BODYPATH {body_path:?}");
|
|
||||||
let mut f = File::options()
|
let mut f = File::options()
|
||||||
.create(true)
|
.create(true)
|
||||||
.truncate(true)
|
.truncate(true)
|
||||||
|
|||||||
@@ -1969,7 +1969,7 @@ fn monitor_plugin_events<R: Runtime>(app_handle: &AppHandle<R>) {
|
|||||||
let app_handle = app_handle.clone();
|
let app_handle = app_handle.clone();
|
||||||
tauri::async_runtime::spawn(async move {
|
tauri::async_runtime::spawn(async move {
|
||||||
let plugin_manager: State<'_, PluginManager> = app_handle.state();
|
let plugin_manager: State<'_, PluginManager> = app_handle.state();
|
||||||
let (rx_id, mut rx) = plugin_manager.subscribe().await;
|
let (rx_id, mut rx) = plugin_manager.subscribe("app").await;
|
||||||
|
|
||||||
while let Some(event) = rx.recv().await {
|
while let Some(event) = rx.recv().await {
|
||||||
let app_handle = app_handle.clone();
|
let app_handle = app_handle.clone();
|
||||||
|
|||||||
@@ -273,9 +273,9 @@ impl PluginManager {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn subscribe(&self) -> (String, mpsc::Receiver<InternalEvent>) {
|
pub async fn subscribe(&self, label: &str) -> (String, mpsc::Receiver<InternalEvent>) {
|
||||||
let (tx, rx) = mpsc::channel(128);
|
let (tx, rx) = mpsc::channel(128);
|
||||||
let rx_id = generate_id();
|
let rx_id = format!("{label}_{}", generate_id());
|
||||||
self.subscribers.lock().await.insert(rx_id.clone(), tx);
|
self.subscribers.lock().await.insert(rx_id.clone(), tx);
|
||||||
(rx_id, rx)
|
(rx_id, rx)
|
||||||
}
|
}
|
||||||
@@ -362,7 +362,8 @@ impl PluginManager {
|
|||||||
payload: &InternalEventPayload,
|
payload: &InternalEventPayload,
|
||||||
plugins: Vec<PluginHandle>,
|
plugins: Vec<PluginHandle>,
|
||||||
) -> Result<Vec<InternalEvent>> {
|
) -> Result<Vec<InternalEvent>> {
|
||||||
let (rx_id, mut rx) = self.subscribe().await;
|
let label = format!("wait[{}]", plugins.len());
|
||||||
|
let (rx_id, mut rx) = self.subscribe(label.as_str()).await;
|
||||||
|
|
||||||
// 1. Build the events with IDs and everything
|
// 1. Build the events with IDs and everything
|
||||||
let events_to_send = plugins
|
let events_to_send = plugins
|
||||||
|
|||||||
Reference in New Issue
Block a user