notedeck

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

commit d39b2706e0483ea00a73d039c242d2b13ece06a4
parent d82d7fd00da3a0c90c249efc3ce0fcb361a7bf41
Author: Ken Sedgwick <ken@bonsai.com>
Date:   Thu, 20 Feb 2025 11:13:32 -0800

add diagnostic string to DecodeFailed

Diffstat:
Mcrates/enostr/src/error.rs | 4++--
Mcrates/enostr/src/relay/message.rs | 4++--
Mcrates/enostr/src/relay/subs_debug.rs | 3++-
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/crates/enostr/src/error.rs b/crates/enostr/src/error.rs @@ -7,8 +7,8 @@ pub enum Error { #[error("message is empty")] Empty, - #[error("decoding failed")] - DecodeFailed, + #[error("decoding failed: {0}")] + DecodeFailed(String), #[error("hex decoding failed")] HexDecodeFailed, diff --git a/crates/enostr/src/relay/message.rs b/crates/enostr/src/relay/message.rs @@ -130,13 +130,13 @@ impl<'a> RelayMessage<'a> { } else if booly == "false" { false } else { - return Err(Error::DecodeFailed); + return Err(Error::DecodeFailed("bad boolean value".into())); }; return Ok(Self::ok(event_id, status, "fixme")); } - Err(Error::DecodeFailed) + Err(Error::DecodeFailed("unrecognized message type".into())) } } diff --git a/crates/enostr/src/relay/subs_debug.rs b/crates/enostr/src/relay/subs_debug.rs @@ -225,7 +225,6 @@ fn calculate_ws_message_size(message: &WsMessage) -> usize { fn calculate_error_size(error: &Error) -> usize { match error { Error::Empty - | Error::DecodeFailed | Error::HexDecodeFailed | Error::InvalidBech32 | Error::InvalidByteSize @@ -233,6 +232,8 @@ fn calculate_error_size(error: &Error) -> usize { | Error::Io(_) | Error::InvalidPublicKey => mem::size_of_val(error), // No heap usage + Error::DecodeFailed(string) => mem::size_of_val(error) + string.len(), + Error::Json(json_err) => mem::size_of_val(error) + json_err.to_string().len(), Error::Nostrdb(nostrdb_err) => mem::size_of_val(error) + nostrdb_err.to_string().len(),