From f3c940a96ceeb8e59945c4cfdea272a800f89b06 Mon Sep 17 00:00:00 2001
From: Lorenz Stechauner <lorenz.stechauner@necronda.net>
Date: Sat, 27 Aug 2022 03:00:22 +0200
Subject: [PATCH] Fix event subscription envelopes

---
 src/usimp/handler/subscribe.rs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/usimp/handler/subscribe.rs b/src/usimp/handler/subscribe.rs
index 45e2497..3a4cc07 100644
--- a/src/usimp/handler/subscribe.rs
+++ b/src/usimp/handler/subscribe.rs
@@ -10,7 +10,7 @@ struct Input {}
 
 #[derive(Serialize, Deserialize, Clone)]
 struct Output {
-    event: Option<Event>,
+    events: Vec<Event>,
 }
 
 pub async fn handle(
@@ -45,16 +45,16 @@ async fn subscribe(
                         .send(OutputEnvelope {
                             error: None,
                             request_nr: req_nr,
-                            data: to_value(event).unwrap(),
+                            data: serde_json::json![{"events": [event]}],
                         })
                         .await;
                 }
             });
-            Ok(Output { event: None })
+            Ok(Output { events: vec![] })
         }
         None => {
             if let Some(event) = rx.recv().await {
-                Ok(Output { event: Some(event) })
+                Ok(Output { events: vec![event] })
             } else {
                 Err(Error::new(
                     ErrorKind::SubscriptionError,