fix deletion of edited messages
This commit is contained in:
@@ -1201,7 +1201,7 @@ class MessagesView extends React.Component {
|
|||||||
content={msg.content}
|
content={msg.content}
|
||||||
mimeType={msg.head && msg.head.mime}
|
mimeType={msg.head && msg.head.mime}
|
||||||
replyToSeq={replyToSeq}
|
replyToSeq={replyToSeq}
|
||||||
edited={msg.head && msg.head.replace && !msg.head.webrtc}
|
edited={msg.head && !msg.head.webrtc && msg.head.replace}
|
||||||
timestamp={msg.ts}
|
timestamp={msg.ts}
|
||||||
response={isReply}
|
response={isReply}
|
||||||
seq={msg.seq}
|
seq={msg.seq}
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ class BaseChatMessage extends React.PureComponent {
|
|||||||
|
|
||||||
this.props.showContextMenu({
|
this.props.showContextMenu({
|
||||||
seq: this.props.seq,
|
seq: this.props.seq,
|
||||||
|
replace: this.props.edited ? parseInt(this.props.edited.split(':')[1]) : 0,
|
||||||
content: this.props.content,
|
content: this.props.content,
|
||||||
userFrom: this.props.userFrom,
|
userFrom: this.props.userFrom,
|
||||||
userName: this.props.userName,
|
userName: this.props.userName,
|
||||||
|
|||||||
@@ -399,10 +399,12 @@ class ContextMenu extends React.Component {
|
|||||||
if (!all && topic.cancelSend(params.seq)) {
|
if (!all && topic.cancelSend(params.seq)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Can't cancel. Delete instead.
|
|
||||||
const promise = all ?
|
const promise = all ?
|
||||||
topic.delMessagesAll(hard) :
|
topic.delMessagesAll(hard) :
|
||||||
topic.delMessagesList([params.seq], hard);
|
params.replace > 0 ?
|
||||||
|
topic.delMessagesEdits(params.replace, hard) :
|
||||||
|
topic.delMessagesList([params.seq], hard);
|
||||||
|
|
||||||
return promise.catch(err => {
|
return promise.catch(err => {
|
||||||
if (errorHandler) {
|
if (errorHandler) {
|
||||||
@@ -446,7 +448,7 @@ class ContextMenu extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
editMessage(params, errorHandler) {
|
editMessage(params, errorHandler) {
|
||||||
params.editMessage(params.seq, params.content, errorHandler);
|
params.editMessage(params.replace || params.seq, params.content, errorHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|||||||
+4
-3
@@ -6541,7 +6541,7 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
content: msg.content,
|
content: msg.content,
|
||||||
mimeType: msg.head && msg.head.mime,
|
mimeType: msg.head && msg.head.mime,
|
||||||
replyToSeq: replyToSeq,
|
replyToSeq: replyToSeq,
|
||||||
edited: msg.head && msg.head.replace && !msg.head.webrtc,
|
edited: msg.head && !msg.head.webrtc && msg.head.replace,
|
||||||
timestamp: msg.ts,
|
timestamp: msg.ts,
|
||||||
response: isReply,
|
response: isReply,
|
||||||
seq: msg.seq,
|
seq: msg.seq,
|
||||||
@@ -11470,6 +11470,7 @@ class BaseChatMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().Pure
|
|||||||
menuItems.push('menu_item_forward');
|
menuItems.push('menu_item_forward');
|
||||||
this.props.showContextMenu({
|
this.props.showContextMenu({
|
||||||
seq: this.props.seq,
|
seq: this.props.seq,
|
||||||
|
replace: this.props.edited ? parseInt(this.props.edited.split(':')[1]) : 0,
|
||||||
content: this.props.content,
|
content: this.props.content,
|
||||||
userFrom: this.props.userFrom,
|
userFrom: this.props.userFrom,
|
||||||
userName: this.props.userName,
|
userName: this.props.userName,
|
||||||
@@ -12735,7 +12736,7 @@ class ContextMenu extends (react__WEBPACK_IMPORTED_MODULE_0___default().Componen
|
|||||||
if (!all && topic.cancelSend(params.seq)) {
|
if (!all && topic.cancelSend(params.seq)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const promise = all ? topic.delMessagesAll(hard) : topic.delMessagesList([params.seq], hard);
|
const promise = all ? topic.delMessagesAll(hard) : params.replace > 0 ? topic.delMessagesEdits(params.replace, hard) : topic.delMessagesList([params.seq], hard);
|
||||||
return promise.catch(err => {
|
return promise.catch(err => {
|
||||||
if (errorHandler) {
|
if (errorHandler) {
|
||||||
errorHandler(err.message, 'err');
|
errorHandler(err.message, 'err');
|
||||||
@@ -12772,7 +12773,7 @@ class ContextMenu extends (react__WEBPACK_IMPORTED_MODULE_0___default().Componen
|
|||||||
params.pickReply(params.seq, params.content, params.userFrom, params.userName, errorHandler);
|
params.pickReply(params.seq, params.content, params.userFrom, params.userName, errorHandler);
|
||||||
}
|
}
|
||||||
editMessage(params, errorHandler) {
|
editMessage(params, errorHandler) {
|
||||||
params.editMessage(params.seq, params.content, errorHandler);
|
params.editMessage(params.replace || params.seq, params.content, errorHandler);
|
||||||
}
|
}
|
||||||
render() {
|
render() {
|
||||||
const menu = [];
|
const menu = [];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+25
-12
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user