Use body
as attribute for the message body text
For error messages we still use the `message` attribute, since error messages generally don't have a body, and if one does, it likely refers to the `body` of a rejected message that the error refers to. We're still setting both `body` and `message` attributes, but usage of `message` for a normal `chat`, `groupchat` or `headline` stanza should be considered deprecated.
This commit is contained in:
parent
d2622f6fed
commit
f9a9d327d1
|
@ -244,7 +244,7 @@ const ChatBox = ModelWithContact.extend({
|
|||
async onMessageUploadChanged (message) {
|
||||
if (message.get('upload') === _converse.SUCCESS) {
|
||||
const attrs = {
|
||||
'body': message.get('message'),
|
||||
'body': message.get('body'),
|
||||
'spoiler_hint': message.get('spoiler_hint'),
|
||||
'oob_url': message.get('oob_url')
|
||||
|
||||
|
@ -632,10 +632,10 @@ const ChatBox = ModelWithContact.extend({
|
|||
message.save({'older_versions': older_versions});
|
||||
} else {
|
||||
// This is a correction of an earlier message we already received
|
||||
if(Object.keys(older_versions).length) {
|
||||
older_versions[message.get('edited')] = message.get('message');
|
||||
}else {
|
||||
older_versions[message.get('time')] = message.get('message');
|
||||
if (Object.keys(older_versions).length) {
|
||||
older_versions[message.get('edited')] = message.getMessageText();
|
||||
} else {
|
||||
older_versions[message.get('time')] = message.getMessageText();
|
||||
}
|
||||
attrs = Object.assign(attrs, {'older_versions': older_versions});
|
||||
delete attrs['id']; // Delete id, otherwise a new cache entry gets created
|
||||
|
@ -976,7 +976,8 @@ const ChatBox = ModelWithContact.extend({
|
|||
let message = this.messages.findWhere('correcting')
|
||||
if (message) {
|
||||
const older_versions = message.get('older_versions') || {};
|
||||
older_versions[message.get('time')] = message.getMessageText();
|
||||
const edited_time = message.get('edited') || message.get('time');
|
||||
older_versions[edited_time] = message.getMessageText();
|
||||
const plaintext = attrs.is_encrypted ? attrs.message : undefined;
|
||||
|
||||
message.save({
|
||||
|
|
|
@ -2709,7 +2709,7 @@ const ChatRoomMixin = {
|
|||
.map(ref => ref.value);
|
||||
return mentions.includes(nick);
|
||||
} else {
|
||||
return new RegExp(`\\b${nick}\\b`).test(message.get('message'));
|
||||
return new RegExp(`\\b${nick}\\b`).test(message.get('body'));
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -246,7 +246,7 @@ describe("XEP-0363: HTTP File Upload", function () {
|
|||
message.save({
|
||||
'upload': _converse.SUCCESS,
|
||||
'oob_url': message.get('get'),
|
||||
'message': message.get('get')
|
||||
'body': message.get('get'),
|
||||
});
|
||||
await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length);
|
||||
});
|
||||
|
|
|
@ -112,7 +112,7 @@ describe("XEP-0363: HTTP File Upload", function () {
|
|||
message.save({
|
||||
'upload': _converse.SUCCESS,
|
||||
'oob_url': message.get('get'),
|
||||
'message': message.get('get')
|
||||
'body': message.get('get'),
|
||||
});
|
||||
await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length);
|
||||
});
|
||||
|
|
|
@ -92,14 +92,14 @@ describe("An OMEMO encrypted message", function() {
|
|||
|
||||
const first_msg = view.model.messages.findWhere({'message': 'But soft, what light through yonder airlock breaks?'});
|
||||
|
||||
const new_text = 'But soft, what light through yonder window breaks?';
|
||||
textarea.value = new_text;
|
||||
const newer_text = 'But soft, what light through yonder door breaks?';
|
||||
textarea.value = newer_text;
|
||||
message_form.onKeyDown({
|
||||
target: textarea,
|
||||
preventDefault: function preventDefault () {},
|
||||
keyCode: 13 // Enter
|
||||
});
|
||||
await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.replace(/<!-.*?->/g, '') === new_text);
|
||||
await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.replace(/<!-.*?->/g, '') === newer_text);
|
||||
|
||||
await u.waitUntil(() => _converse.connection.sent_stanzas.filter(s => s.nodeName === 'message').length === 3);
|
||||
const msg = _converse.connection.sent_stanzas.pop();
|
||||
|
@ -127,10 +127,10 @@ describe("An OMEMO encrypted message", function() {
|
|||
`</message>`);
|
||||
|
||||
const older_versions = first_msg.get('older_versions');
|
||||
const keys = Object.keys(older_versions);
|
||||
let keys = Object.keys(older_versions);
|
||||
expect(keys.length).toBe(1);
|
||||
expect(older_versions[keys[0]]).toBe('But soft, what light through yonder airlock breaks?');
|
||||
expect(first_msg.get('plaintext')).toBe(new_text);
|
||||
expect(first_msg.get('plaintext')).toBe(newer_text);
|
||||
expect(first_msg.get('is_encrypted')).toBe(true);
|
||||
expect(first_msg.get('body')).toBe(fallback_text);
|
||||
expect(first_msg.get('message')).toBe(fallback_text);
|
||||
|
@ -139,7 +139,21 @@ describe("An OMEMO encrypted message", function() {
|
|||
target: textarea,
|
||||
keyCode: 38 // Up arrow
|
||||
});
|
||||
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
||||
expect(textarea.value).toBe('But soft, what light through yonder door breaks?');
|
||||
|
||||
const newest_text = 'But soft, what light through yonder window breaks?';
|
||||
textarea.value = newest_text;
|
||||
message_form.onKeyDown({
|
||||
target: textarea,
|
||||
preventDefault: function preventDefault () {},
|
||||
keyCode: 13 // Enter
|
||||
});
|
||||
await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.replace(/<!-.*?->/g, '') === newest_text);
|
||||
|
||||
keys = Object.keys(older_versions);
|
||||
expect(keys.length).toBe(2);
|
||||
expect(older_versions[keys[0]]).toBe('But soft, what light through yonder airlock breaks?');
|
||||
expect(older_versions[keys[1]]).toBe('But soft, what light through yonder door breaks?');
|
||||
}));
|
||||
});
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ describe("The OMEMO module", function() {
|
|||
message.save({
|
||||
'upload': _converse.SUCCESS,
|
||||
'oob_url': message.get('get'),
|
||||
'message': message.get('get')
|
||||
'body': message.get('get')
|
||||
});
|
||||
await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length);
|
||||
});
|
||||
|
|
|
@ -71,7 +71,7 @@ class MessageActions extends CustomElement {
|
|||
// TODO: Use state intead of DOM querying
|
||||
// Then this code can also be put on the model
|
||||
const unsent_text = u.ancestor(this, '.chatbox')?.querySelector('.chat-textarea')?.value;
|
||||
if (unsent_text && (!currently_correcting || currently_correcting.get('message') !== unsent_text)) {
|
||||
if (unsent_text && (!currently_correcting || currently_correcting.getMessageText() !== unsent_text)) {
|
||||
if (!confirm(__('You have an unsent message which will be lost if you continue. Are you sure?'))) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user