From 26cb1a2c074e516c9df047be0ed808860e24454e Mon Sep 17 00:00:00 2001 From: Ken Sedgwick Date: Wed, 16 Oct 2024 17:30:59 -0700 Subject: [PATCH] Fix parsing of subscription id for RelayMessage::Event --- enostr/src/relay/message.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/enostr/src/relay/message.rs b/enostr/src/relay/message.rs index b48e5ae..dea89e8 100644 --- a/enostr/src/relay/message.rs +++ b/enostr/src/relay/message.rs @@ -90,7 +90,17 @@ impl<'a> RelayMessage<'a> { // Event // Relay response format: ["EVENT", , ] if &msg[0..=7] == "[\"EVENT\"" { - return Ok(Self::event(msg, "fixme")); + let mut start = 9; + while let Some(&b' ') = msg.as_bytes().get(start) { + start += 1; // Move past optional spaces + } + if let Some(comma_index) = msg[start..].find(',') { + let subid_end = start + comma_index; + let subid = &msg[start..subid_end].trim().trim_matches('"'); + return Ok(Self::event(msg, subid)); + } else { + return Ok(Self::event(msg, "fixme")); + } } // EOSE (NIP-15)