notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit fe7f0a39766237308232dd740b5c205166c7f9e0
parent 80f436000514dce5fed5b806106c6742413e2ec8
Author: Ken Sedgwick <ken@bonsai.com>
Date:   Thu, 20 Feb 2025 12:31:09 -0800

fix OK message parser to include last message component

Diffstat:
Mcrates/enostr/src/relay/message.rs | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/crates/enostr/src/relay/message.rs b/crates/enostr/src/relay/message.rs @@ -122,7 +122,6 @@ impl<'a> RelayMessage<'a> { // OK (NIP-20) // Relay response format: ["OK",<event_id>, <true|false>, <message>] if &msg[0..=5] == "[\"OK\"," && msg.len() >= 78 { - // TODO: fix this let event_id = &msg[7..71]; let booly = &msg[73..77]; let status: bool = if booly == "true" { @@ -132,8 +131,9 @@ impl<'a> RelayMessage<'a> { } else { return Err(Error::DecodeFailed("bad boolean value".into())); }; - - return Ok(Self::ok(event_id, status, "fixme")); + let message_start = msg.rfind(',').unwrap() + 1; + let message = &msg[message_start..msg.len() - 2].trim().trim_matches('"'); + return Ok(Self::ok(event_id, status, message)); } Err(Error::DecodeFailed("unrecognized message type".into()))