A method of resolving edits to electronic messages, comprising: at a server system hosting a plurality of conversations, including, for a conversation including a message and one or more responses to the message, in the plurality of conversations: receiving, from a first client, a first sequence of edits to a portion of the conversation from a first participant of the conversation; receiving, from a second client, a second sequence of edits to the portion the conversation from a second participant of the conversation; merging the first sequence of edits into a first merged sequence of edits; applying the first merged sequence of edits to the portion of the conversation, wherein said applying the first merged sequence of edits results in a first intermediate state of the portion of the conversation; merging the second sequence of edits into a second merged sequence of edits; applying the second merged sequence of edits to the portion of the conversation, wherein said applying the second merged sequence of edits results in a second intermediate state of the portion of the conversation; applying a transformed second merged sequence of edits to the first intermediate state, wherein the transformed second merged sequence of edits is received from the second participant, and wherein a transformation of the second merged sequence of edits is carried out based on the portion of the conversation, the first merged sequence of edits and the second merged sequence of edits; applying a transformed first merged sequence of edits to the second intermediate state, wherein the transformed first merged sequence of edits is received from the first participant, and wherein a transformation of the first merged sequence of edits is carried out based on the portion of the conversation, the first merged sequence of edits and the second merged sequence of edits; wherein applying the transformed second merged sequence of edits to the first intermediate state of conversation at the first client and applying the transformed first merged sequence of edits to the second intermediate state of conversation at the second client both results in a same final state of the portion of the conversation at the first and second client. receiving, from a first client, a first sequence of edits to a portion of the conversation from a first participant of the conversation; receiving, from a second client, a second sequence of edits to the portion the conversation from a second participant of the conversation; merging the first sequence of edits into a first merged sequence of edits; applying the first merged sequence of edits to the portion of the conversation, wherein said applying the first merged sequence of edits results in a first intermediate state of the portion of the conversation; merging the second sequence of edits into a second merged sequence of edits; applying the second merged sequence of edits to the portion of the conversation, wherein said applying the second merged sequence of edits results in a second intermediate state of the portion of the conversation; applying a transformed second merged sequence of edits to the first intermediate state, wherein the transformed second merged sequence of edits is received from the second participant, and wherein a transformation of the second merged sequence of edits is carried out based on the portion of the conversation, the first merged sequence of edits and the second merged sequence of edits; applying a transformed first merged sequence of edits to the second intermediate state, wherein the transformed first merged sequence of edits is received from the first participant, and wherein a transformation of the first merged sequence of edits is carried out based on the portion of the conversation, the first merged sequence of edits and the second merged sequence of edits; wherein applying the transformed second merged sequence of edits to the first intermediate state of conversation at the first client and applying the transformed first merged sequence of edits to the second intermediate state of conversation at the second client both results in a same final state of the portion of the conversation at the first and second client.