From f8c9dab689855aa103f5aaa3b0f4aee8cb6234c7 Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Sat, 8 Mar 2025 16:27:03 -0500 Subject: [PATCH] feat(events/chat): pass encryption status --- src/events.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/events.rs b/src/events.rs index 5f2ce2b..4dbc7c6 100644 --- a/src/events.rs +++ b/src/events.rs @@ -32,9 +32,10 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: let ansi_text = text.to_ansi(); info!("{ansi_text}"); + let mut is_encrypted = false; if let Some(ref sender) = sender { - let mut ncr_options = None; - if let Ok(options) = globals.get::("NcrOptions") + let ncr_options = globals.get::
("NcrOptions").ok(); + if let Some(ref options) = ncr_options && let Ok(decrypt) = globals.get::("ncr_decrypt") && let Some(plaintext) = decrypt .call::((options.clone(), content.clone())) @@ -42,7 +43,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: .as_deref() .and_then(|s| trim_header(s).ok()) { - ncr_options = Some(options); + is_encrypted = true; plaintext.clone_into(&mut content); info!("decrypted message from {sender}: {content}"); } @@ -81,6 +82,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: table.set("content", content)?; table.set("uuid", uuid)?; table.set("is_whisper", is_whisper)?; + table.set("is_encrypted", is_encrypted)?; call_listeners(&state, "chat", table).await; } Event::Death(packet) => {