pub struct EditedMessage {
pub parts: Vec<EditedMessagePart>,
}Expand description
Main edited message container
§Background
iMessage permits editing sent messages up to five times within 15 minutes of sending the first message and unsending sent messages within 2 minutes.
§Internal Representation
Edited or unsent messages are stored with a NULL text field.
Edited messages include message_summary_info that contains a dictionary
with message body part data, including typedstream-encoded
edit history. The order of entries in the edit history represents the order
the messages were edited in, i.e. item 0 was the original and the last
item is the current message.
§Message Body Parts
- The
otrkey contains a dictionary of message body part indexes with some associated metadata. - The
rpkey contains a list of unsent message parts - The
eckey contains a dictionary of edited message part indexes mapping to the history of edits- For each dictionary item in this array, The
dkey represents the time the message was edited and thetkey represents the message’sattributedBodytext in thetypedstreamformat.
- For each dictionary item in this array, The
§Documentation
Apple describes editing and unsending messages here.
Fields§
§parts: Vec<EditedMessagePart>Contains data representing each part of an edited message
Implementations§
Source§impl EditedMessage
impl EditedMessage
Sourcepub fn part(&self, index: usize) -> Option<&EditedMessagePart>
pub fn part(&self, index: usize) -> Option<&EditedMessagePart>
Gets the edited message data for the given message part index
Sourcepub fn is_unedited_at(&self, index: usize) -> bool
pub fn is_unedited_at(&self, index: usize) -> bool
Indicates if the given message part has been edited