avatarPointer?: string;// this is the url of the avatar on the file server v2. we use this to detect if we need to redownload the avatar from someone (not used for opengroups)
avatarPointer?: string;// this is the url of the avatar on the file server v2. we use this to detect if we need to redownload the avatar from someone (not used for opengroups)
expireTimer: number;// in seconds, 0 means no expiration
/** in seconds, 0 means no expiration */
expireTimer: number;
members: Array<string>;// groups only members are all members for this group. zombies excluded (not used for communities)
members: Array<string>;// groups only members are all members for this group. zombies excluded (not used for communities)
groupAdmins: Array<string>;// for sogs and closed group: the unique admins of that group
groupAdmins: Array<string>;// for sogs and closed group: the unique admins of that group
blocksSogsMsgReqsTimestamp: number;// if the convo is blinded and the user has denied contact through sogs, this field be set to the user's latest message timestamp
blocksSogsMsgReqsTimestamp: number;// if the convo is blinded and the user has denied contact through sogs, this field be set to the user's latest message timestamp
expirationMode: DisappearingMessageConversationModeType;// disappearing messages setting for this conversation
/** disappearing messages setting for this conversation */
lastDisappearingMessageChangeTimestamp: number;// to avoid applying a change of disappear change when our current one was applied more recently
it("if it's a Private Conversation and expirationType is deleteAfterRead and expireTimer > 0 then the conversation mode stays as deleteAfterRead",async()=>{
it("if it's a Private Conversation and expirationType is deleteAfterSend and expireTimer > 0 then the conversation mode stays as deleteAfterSend",async()=>{