From 0d399e542f8e8567e8d20f6af645034cd3b9ed12 Mon Sep 17 00:00:00 2001 From: Daniel Sanchez Quiros Date: Wed, 19 Oct 2022 12:26:16 +0200 Subject: [PATCH] Polish chat and add necessary fixes --- examples/toy-chat/src/main.rs | 18 ++++++++++++------ waku/src/events/mod.rs | 1 + waku/src/general/mod.rs | 1 + 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/examples/toy-chat/src/main.rs b/examples/toy-chat/src/main.rs index d0e27ed..42906c0 100644 --- a/examples/toy-chat/src/main.rs +++ b/examples/toy-chat/src/main.rs @@ -23,8 +23,8 @@ use tui::{ }; use unicode_width::UnicodeWidthStr; use waku::{ - waku_new, waku_set_event_callback, ContentFilter, Multiaddr, ProtocolId, Running, StoreQuery, - WakuMessage, WakuNodeHandle, + waku_new, waku_set_event_callback, ContentFilter, Multiaddr, PagingOptions, ProtocolId, + Running, StoreQuery, WakuMessage, WakuNodeHandle, }; enum InputMode { @@ -78,10 +78,14 @@ fn retrieve_history(node_handle: &WakuNodeHandle) -> waku::Result std::result::Result<(), Box> { } } } - _ => { - unreachable!() + waku::Event::Unrecognized(data) => { + let mut out = std::io::stderr(); + write!(out, "Error, received unrecognized event {data}").unwrap(); } + _ => {} }); // app.node_handle.relay_publish_message(&WakuMessage::new(Chat2Message::new(&app.nick, format!("")))) diff --git a/waku/src/events/mod.rs b/waku/src/events/mod.rs index 73bf28a..08b728b 100644 --- a/waku/src/events/mod.rs +++ b/waku/src/events/mod.rs @@ -38,6 +38,7 @@ impl Signal { #[serde(untagged, rename_all = "camelCase")] pub enum Event { WakuMessage(WakuMessageEvent), + Unrecognized(serde_json::Value), } /// Type of `event` field for a `message` event diff --git a/waku/src/general/mod.rs b/waku/src/general/mod.rs index 5e645c0..a152520 100644 --- a/waku/src/general/mod.rs +++ b/waku/src/general/mod.rs @@ -239,6 +239,7 @@ pub struct StoreQuery { #[serde(rename_all = "camelCase")] pub struct StoreResponse { /// Array of retrieved historical messages in [`WakuMessage`] format + #[serde(default)] messages: Vec, /// Paging information in [`PagingOptions`] format from which to resume further historical queries paging_options: Option,