avatarImageId?: number;// avatar imageID is currently used only for sogs. It's the fileID of the image uploaded and set as the sogs avatar (not only sogs I think, but our profile too?)
left: boolean;// LEGACY GROUPS ONLY: if we left the group (communities are removed right away so it not relevant to communities) // TODOLATER to remove after legacy closed group are dropped
isKickedFromGroup: boolean;// LEGACY GROUPS ONLY: if we got kicked from the group (communities just stop polling and a message sent get rejected, so not relevant to communities) // TODOLATER to remove after legacy closed group are dropped
isTrustedForAttachmentDownload: boolean;// not synced accross devices, this field is used if we should auto download attachments from this conversation or not
// TODOLATER those two items are only used for legacy closed groups and will be removed when we get rid of the legacy closed groups support
lastJoinedTimestamp: number;// ClosedGroup: last time we were added to this group // TODOLATER to remove after legacy closed group are dropped
zombies: Array<string>;// only used for closed groups. Zombies are users which left but not yet removed by the admin // TODOLATER to remove after legacy closed group are dropped
// for those so there is no need to keep them in sync, but just have them in the dumps.
// Note: If we do remove them, we also need to add some logic to the wrappers. For instance, we can currently search by nickname or display name and that works through the DB.
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)
isApproved: boolean;// if we sent a message request or sent a message to this contact, we approve them. If isApproved & didApproveMe, a message request becomes a contact
didApproveMe: boolean;// if our message request was approved already (or they've sent us a message request/message themselves). If isApproved & didApproveMe, a message request becomes a contact
markedAsUnread: boolean;// Force the conversation as unread even if all the messages are read. Used to highlight a conversation the user wants to check again later, synced.
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