Use real JID in XEP-0372 references only when the MUC is non-anonymous
This commit is contained in:
parent
d55c4eb66e
commit
3f47c4d3dd
@ -5,6 +5,7 @@
|
||||
- #1083: Add support for XEP-0393 Message Styling
|
||||
- #2275: Allow punctuation to immediately precede a mention
|
||||
- Add support for XEP-0437 Room Activity Indicators see [muc-subscribe-to-rai](https://conversejs.org/docs/html/configuration.html#muc-subscribe-to-rai)
|
||||
- Bugfix: Use real JID in XEP-0372 references only when the MUC is non-anonymous
|
||||
- Bugfix: Connection protocol not updated based on XEP-0156 connection methods
|
||||
- Bugfix: `null` inserted by emoji picker and can't switch between skintones
|
||||
- New hook: [getMessageActionButtons](https://conversejs.org/docs/html/api/-_converse.html#event:getMessageActionButtons)
|
||||
|
@ -138,7 +138,21 @@ describe("A sent groupchat message", function () {
|
||||
async function (done, _converse) {
|
||||
|
||||
const muc_jid = 'lounge@montague.lit';
|
||||
await mock.openAndEnterChatRoom(_converse, muc_jid, 'tom');
|
||||
|
||||
// Making the MUC non-anonymous so that real JIDs are included
|
||||
const features = [
|
||||
'http://jabber.org/protocol/muc',
|
||||
'jabber:iq:register',
|
||||
Strophe.NS.SID,
|
||||
Strophe.NS.MAM,
|
||||
'muc_passwordprotected',
|
||||
'muc_hidden',
|
||||
'muc_temporary',
|
||||
'muc_open',
|
||||
'muc_unmoderated',
|
||||
'muc_nonanonymous'
|
||||
];
|
||||
await mock.openAndEnterChatRoom(_converse, muc_jid, 'tom', features);
|
||||
const view = _converse.api.chatviews.get(muc_jid);
|
||||
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh', 'Link Mauve', 'robot'].forEach((nick) => {
|
||||
_converse.connection._dataRecv(mock.createRequest(
|
||||
@ -334,7 +348,21 @@ describe("A sent groupchat message", function () {
|
||||
async function (done, _converse) {
|
||||
|
||||
const muc_jid = 'lounge@montague.lit';
|
||||
await mock.openAndEnterChatRoom(_converse, muc_jid, 'tom');
|
||||
|
||||
// Making the MUC non-anonymous so that real JIDs are included
|
||||
const features = [
|
||||
'http://jabber.org/protocol/muc',
|
||||
'jabber:iq:register',
|
||||
Strophe.NS.SID,
|
||||
Strophe.NS.MAM,
|
||||
'muc_passwordprotected',
|
||||
'muc_hidden',
|
||||
'muc_temporary',
|
||||
'muc_open',
|
||||
'muc_unmoderated',
|
||||
'muc_nonanonymous'
|
||||
];
|
||||
await mock.openAndEnterChatRoom(_converse, muc_jid, 'tom', features);
|
||||
const view = _converse.api.chatviews.get(muc_jid);
|
||||
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
|
||||
_converse.connection._dataRecv(mock.createRequest(
|
||||
@ -455,9 +483,9 @@ describe("A sent groupchat message", function () {
|
||||
`xmlns="jabber:client">`+
|
||||
`<body>hello z3r0 gibson mr.robot, how are you?</body>`+
|
||||
`<active xmlns="http://jabber.org/protocol/chatstates"/>`+
|
||||
`<reference begin="6" end="10" type="mention" uri="xmpp:z3r0@montague.lit" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<reference begin="11" end="17" type="mention" uri="xmpp:gibson@montague.lit" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<reference begin="18" end="26" type="mention" uri="xmpp:mr.robot@montague.lit" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<reference begin="6" end="10" type="mention" uri="xmpp:${muc_jid}/z3r0" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<reference begin="11" end="17" type="mention" uri="xmpp:${muc_jid}/gibson" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<reference begin="18" end="26" type="mention" uri="xmpp:${muc_jid}/mr.robot" xmlns="urn:xmpp:reference:0"/>`+
|
||||
`<origin-id id="${msg.nodeTree.querySelector('origin-id').getAttribute("id")}" xmlns="urn:xmpp:sid:0"/>`+
|
||||
`</message>`);
|
||||
done();
|
||||
|
@ -868,7 +868,7 @@ const ChatRoomMixin = {
|
||||
const uriFromNickname = nickname => {
|
||||
const jid = this.get('jid');
|
||||
const occupant = this.getOccupant(nickname) || this.getOccupant(jid);
|
||||
const uri = (occupant && occupant.get('jid')) || `${jid}/${nickname}`;
|
||||
const uri = (this.features.get('nonanonymous') && occupant?.get('jid')) || `${jid}/${nickname}`;
|
||||
return encodeURI(`xmpp:${uri}`);
|
||||
};
|
||||
|
||||
|
@ -78,7 +78,7 @@ module.exports = {
|
||||
presets: [
|
||||
["@babel/preset-env", {
|
||||
"targets": {
|
||||
"browsers": [">1%", "not ie 11", "not op_mini all"]
|
||||
"browsers": [">1%", "not ie 11", "not op_mini all", "not dead"]
|
||||
}
|
||||
}]
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user