pub struct ConversationRecord {Show 13 fields
pub id: String,
pub member_public_keys: Vec<String>,
pub subject: String,
pub subject_icon: Option<AttachmentMetadata>,
pub last_message: Option<AccountMessageView>,
pub message_count: u32,
pub unread_count: u32,
pub archived: bool,
pub pinned: bool,
pub read_cursor: Option<MessageCursor>,
pub forced_unread: bool,
pub draft: Option<AccountDraft>,
pub last_activity_at: i64,
}Expand description
Complete conversation state consumed by product UI.
Fields§
§id: StringStable participant-set identifier.
member_public_keys: Vec<String>Sorted canonical participant public keys including the local account.
subject: StringLatest authenticated subject text, empty when unset or cleared.
subject_icon: Option<AttachmentMetadata>Latest authenticated subject icon, absent when unset.
last_message: Option<AccountMessageView>Newest live message, absent for a newly created empty conversation.
message_count: u32Number of live messages.
unread_count: u32Number of unread messages authored by another participant.
archived: boolWhether the local account archived this conversation.
pinned: boolWhether the local account pinned this conversation.
read_cursor: Option<MessageCursor>Durable tuple read boundary, absent before the first explicit read action.
forced_unread: boolWhether the conversation was explicitly marked unread.
draft: Option<AccountDraft>Portable draft, absent when empty.
last_activity_at: i64Timestamp used for stable list ordering.
Trait Implementations§
Source§impl Clone for ConversationRecord
impl Clone for ConversationRecord
Source§fn clone(&self) -> ConversationRecord
fn clone(&self) -> ConversationRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<UT> ConvertError<UT> for ConversationRecord
impl<UT> ConvertError<UT> for ConversationRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for ConversationRecord
impl Debug for ConversationRecord
Source§impl<'de> Deserialize<'de> for ConversationRecord
impl<'de> Deserialize<'de> for ConversationRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<UT> FfiConverter<UT> for ConversationRecord
impl<UT> FfiConverter<UT> for ConversationRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Type ID metadata, serialized into a [MetadataBuffer].
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
The low-level type used for passing values of this type over the FFI. Read more
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§impl<UT> Lift<UT> for ConversationRecord
impl<UT> Lift<UT> for ConversationRecord
Source§impl<UT> LiftRef<UT> for ConversationRecord
impl<UT> LiftRef<UT> for ConversationRecord
Source§impl<UT> LiftReturn<UT> for ConversationRecord
impl<UT> LiftReturn<UT> for ConversationRecord
Source§type ReturnType = <ConversationRecord as Lift<UT>>::FfiType
type ReturnType = <ConversationRecord as Lift<UT>>::FfiType
FFI return type for trait interfaces
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Lift a successfully returned value from a trait interface
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Lift a foreign returned value from a trait interface Read more
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Lift a Rust value for a callback interface method error result Read more
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Lift a Rust value for an unexpected callback interface error Read more
Source§impl<UT> Lower<UT> for ConversationRecord
impl<UT> Lower<UT> for ConversationRecord
Source§impl<UT> LowerError<UT> for ConversationRecord
impl<UT> LowerError<UT> for ConversationRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for ConversationRecord
impl<UT> LowerReturn<UT> for ConversationRecord
Source§type ReturnType = <ConversationRecord as Lower<UT>>::FfiType
type ReturnType = <ConversationRecord as Lower<UT>>::FfiType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl PartialEq for ConversationRecord
impl PartialEq for ConversationRecord
Source§fn eq(&self, other: &ConversationRecord) -> bool
fn eq(&self, other: &ConversationRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ConversationRecord
impl Serialize for ConversationRecord
Source§impl<UT> TypeId<UT> for ConversationRecord
impl<UT> TypeId<UT> for ConversationRecord
const TYPE_ID_META: MetadataBuffer
impl Eq for ConversationRecord
impl StructuralPartialEq for ConversationRecord
Auto Trait Implementations§
impl Freeze for ConversationRecord
impl RefUnwindSafe for ConversationRecord
impl Send for ConversationRecord
impl Sync for ConversationRecord
impl Unpin for ConversationRecord
impl UnsafeUnpin for ConversationRecord
impl UnwindSafe for ConversationRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more