pub struct HiddenDmThreadEntry {
pub room_owner_vk: [u8; 32],
pub peer: MemberId,
pub hidden_at_ts: u64,
}Expand description
A single user-driven “hide this DM thread until further notice” entry.
Vec-of-struct rather than HashMap for the same reason as
OutboundDmStore::entries — JSON object keys must serialize as
strings (see “Non-string map keys in JSON-serialized API types” in
freenet/.claude/rules/bug-prevention-patterns.md), and the
(VerifyingKey, MemberId) lookup tuple does not. The local UI hot
path materialises this list into a HashMap for O(1) render-time
lookup — see OutboundDmsCache in the river-ui crate.
Fields§
§room_owner_vk: [u8; 32]Room owner verifying key — disambiguates the same peer being a
member of multiple rooms. Raw 32 bytes to match the RoomKey
convention used elsewhere in this module and to keep the type
JSON-friendly.
peer: MemberIdCounterparty in the DM thread.
Unix seconds at the moment the user clicked “Hide thread”.
Captured from the most-recent message timestamp in the thread at
that moment (or now() if the thread had no messages yet — an
edge case that can happen if the user composes-and-hides from
the picker without ever sending) so any subsequent message
strictly later than this revives the thread.
Trait Implementations§
Source§impl Clone for HiddenDmThreadEntry
impl Clone for HiddenDmThreadEntry
Source§fn clone(&self) -> HiddenDmThreadEntry
fn clone(&self) -> HiddenDmThreadEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HiddenDmThreadEntry
impl Debug for HiddenDmThreadEntry
Source§impl<'de> Deserialize<'de> for HiddenDmThreadEntry
impl<'de> Deserialize<'de> for HiddenDmThreadEntry
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>,
Source§impl PartialEq for HiddenDmThreadEntry
impl PartialEq for HiddenDmThreadEntry
Source§fn eq(&self, other: &HiddenDmThreadEntry) -> bool
fn eq(&self, other: &HiddenDmThreadEntry) -> bool
self and other values to be equal, and is used by ==.