From a9ca4ffb7de90ea4cd269350c189c19fb78a2589 Mon Sep 17 00:00:00 2001 From: osmaczko <33099791+osmaczko@users.noreply.github.com> Date: Wed, 18 Feb 2026 20:01:47 +0100 Subject: [PATCH] chore: expose `isNewConvo` property (#57) --- conversations/src/api.rs | 4 ++++ nim-bindings/src/bindings.nim | 1 + nim-bindings/src/libchat.nim | 4 +++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/conversations/src/api.rs b/conversations/src/api.rs index 14fba3a..d8eb367 100644 --- a/conversations/src/api.rs +++ b/conversations/src/api.rs @@ -226,6 +226,7 @@ pub struct HandlePayloadResult { pub error_code: i32, pub convo_id: repr_c::String, pub content: repr_c::Vec, + pub is_new_convo: bool, } /// Free the result from handle_payload @@ -240,6 +241,7 @@ impl From for HandlePayloadResult { error_code: ErrorCode::None as i32, convo_id: value.conversation_id.into(), content: value.data.into(), + is_new_convo: value.is_new_convo, } } } @@ -253,6 +255,7 @@ impl From> for HandlePayloadResult { error_code: ErrorCode::None as i32, convo_id: repr_c::String::EMPTY, content: repr_c::Vec::EMPTY, + is_new_convo: false, } } } @@ -265,6 +268,7 @@ impl From for HandlePayloadResult { error_code: ErrorCode::UnknownError as i32, convo_id: String::EMPTY, content: repr_c::Vec::EMPTY, + is_new_convo: false, } } } diff --git a/nim-bindings/src/bindings.nim b/nim-bindings/src/bindings.nim index 9b3d878..a03d5d2 100644 --- a/nim-bindings/src/bindings.nim +++ b/nim-bindings/src/bindings.nim @@ -84,6 +84,7 @@ type error_code*: int32 convo_id*: ReprCString content*: VecUint8 + is_new_convo*: bool ## Result from create_new_private_convo ## error_code is 0 on success, negative on error (see ErrorCode) diff --git a/nim-bindings/src/libchat.nim b/nim-bindings/src/libchat.nim index f02d504..c9a5b1b 100644 --- a/nim-bindings/src/libchat.nim +++ b/nim-bindings/src/libchat.nim @@ -114,6 +114,7 @@ type ContentResult* = object conversationId*: string data*: seq[uint8] + isNewConvo*: bool ## Handle an incoming payload and decrypt content proc handlePayload*(ctx: LibChat, payload: seq[byte]): Result[Option[ContentResult], string] = @@ -141,5 +142,6 @@ proc handlePayload*(ctx: LibChat, payload: seq[byte]): Result[Option[ContentResu return ok(some(ContentResult( conversationId: $res.convo_id, - data: content + data: content, + isNewConvo: res.is_new_convo )))