prevent message correction for files

This commit is contained in:
Christoph Scholz 2019-10-09 11:32:25 +02:00 committed by JC Brand
parent cf94a2c02f
commit 2d44144b69
3 changed files with 16 additions and 12 deletions

View File

@ -1,5 +1,9 @@
# Changelog
## 5.0.5
- Prevent editing of sent file uploads.
## 5.0.4 (2019-10-08)
- New config option [allow_message_corrections](https://conversejs.org/docs/html/configuration.html#allow_message_corrections)

View File

@ -954,7 +954,7 @@ converse.plugins.add('converse-chatview', {
while (idx < this.model.messages.length-1) {
idx += 1;
const candidate = this.model.messages.at(idx);
if (candidate.get('sender') === 'me' && candidate.get('message')) {
if (candidate.get('editable')) {
message = candidate;
break;
}
@ -982,7 +982,7 @@ converse.plugins.add('converse-chatview', {
}
}
}
message = message || this.getOwnMessages().reverse().find(m => m.get('message'));
message = message || this.getOwnMessages().reverse().find(m => m.get('editable'));
if (message) {
this.insertIntoTextArea(message.get('message'), true, true);
message.save('correcting', true);

View File

@ -785,7 +785,7 @@ converse.plugins.add('converse-chatboxes', {
return;
}
if (_converse.allow_message_corrections === 'all') {
attrs.editable = true;
attrs.editable = !(attrs.file || 'oob_url' in attrs);
} else if ((_converse.allow_message_corrections === 'last') &&
(send_time > this.get('time_sent'))) {
this.set({'time_sent': send_time});
@ -793,7 +793,7 @@ converse.plugins.add('converse-chatboxes', {
if (msg) {
msg.save({'editable': false});
}
attrs.editable = true;
attrs.editable = !(attrs.file || 'oob_url' in attrs);
}
},
@ -889,14 +889,14 @@ converse.plugins.add('converse-chatboxes', {
'ephemeral': true
});
} else {
const message = this.messages.create(
Object.assign(
this.getOutgoingMessageAttributes(), {
'file': true,
'progress': 0,
'slot_request_url': slot_request_url
}), {'silent': true}
);
const attrs = Object.assign(
this.getOutgoingMessageAttributes(), {
'file': true,
'progress': 0,
'slot_request_url': slot_request_url
});
this.setEditable(attrs, (new Date()).toISOString());
const message = this.messages.create(attrs, {'silent': true});
message.file = file;
this.messages.trigger('add', message);
message.getRequestSlotURL();