From f96b257f1c85e035704b3e4380c8054057f46f93 Mon Sep 17 00:00:00 2001 From: hosted-fornet Date: Mon, 17 Jun 2024 21:48:22 -0700 Subject: [PATCH 1/2] kernel: only overwrite request prompting_message when there could be a reply to it --- kinode/src/kernel/standard_host.rs | 7 +++++-- kinode/src/kernel/standard_host_v0.rs | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/kinode/src/kernel/standard_host.rs b/kinode/src/kernel/standard_host.rs index 388539412..0f9baa08b 100644 --- a/kinode/src/kernel/standard_host.rs +++ b/kinode/src/kernel/standard_host.rs @@ -101,10 +101,13 @@ impl process::ProcessState { ) -> Result<(wit::Address, wit::Message), (wit::SendError, Option)> { let (mut km, context) = match incoming { Ok(mut km) => match km.message { - t::Message::Request(_) => { + t::Message::Request(t::Request { ref expects_response, .. }) => { self.last_blob = km.lazy_load_blob; km.lazy_load_blob = None; - self.prompting_message = Some(km.clone()); + if expects_response.is_some() || km.rsvp.is_some() { + // update prompting_message iff there is someone to reply to + self.prompting_message = Some(km.clone()); + } (km, None) } t::Message::Response(_) => match self.contexts.remove(&km.id) { diff --git a/kinode/src/kernel/standard_host_v0.rs b/kinode/src/kernel/standard_host_v0.rs index 9ab407249..acaf59227 100644 --- a/kinode/src/kernel/standard_host_v0.rs +++ b/kinode/src/kernel/standard_host_v0.rs @@ -101,10 +101,13 @@ impl process::ProcessState { ) -> Result<(wit::Address, wit::Message), (wit::SendError, Option)> { let (mut km, context) = match incoming { Ok(mut km) => match km.message { - t::Message::Request(_) => { + t::Message::Request(t::Request { ref expects_response, .. }) => { self.last_blob = km.lazy_load_blob; km.lazy_load_blob = None; - self.prompting_message = Some(km.clone()); + if expects_response.is_some() || km.rsvp.is_some() { + // update prompting_message iff there is someone to reply to + self.prompting_message = Some(km.clone()); + } (km, None) } t::Message::Response(_) => match self.contexts.remove(&km.id) { From 88db6ef8e3c1b2b0b8b8869fe22eb77bf6f04a97 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 04:48:50 +0000 Subject: [PATCH 2/2] Format Rust code using rustfmt --- kinode/src/kernel/standard_host.rs | 5 ++++- kinode/src/kernel/standard_host_v0.rs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kinode/src/kernel/standard_host.rs b/kinode/src/kernel/standard_host.rs index 0f9baa08b..d11b09917 100644 --- a/kinode/src/kernel/standard_host.rs +++ b/kinode/src/kernel/standard_host.rs @@ -101,7 +101,10 @@ impl process::ProcessState { ) -> Result<(wit::Address, wit::Message), (wit::SendError, Option)> { let (mut km, context) = match incoming { Ok(mut km) => match km.message { - t::Message::Request(t::Request { ref expects_response, .. }) => { + t::Message::Request(t::Request { + ref expects_response, + .. + }) => { self.last_blob = km.lazy_load_blob; km.lazy_load_blob = None; if expects_response.is_some() || km.rsvp.is_some() { diff --git a/kinode/src/kernel/standard_host_v0.rs b/kinode/src/kernel/standard_host_v0.rs index acaf59227..adbb462ee 100644 --- a/kinode/src/kernel/standard_host_v0.rs +++ b/kinode/src/kernel/standard_host_v0.rs @@ -101,7 +101,10 @@ impl process::ProcessState { ) -> Result<(wit::Address, wit::Message), (wit::SendError, Option)> { let (mut km, context) = match incoming { Ok(mut km) => match km.message { - t::Message::Request(t::Request { ref expects_response, .. }) => { + t::Message::Request(t::Request { + ref expects_response, + .. + }) => { self.last_blob = km.lazy_load_blob; km.lazy_load_blob = None; if expects_response.is_some() || km.rsvp.is_some() {