Bugfix. Don't try to look up occupant via MUC JID
Also set function as class method
This commit is contained in:
parent
605c02901a
commit
eb29d962f5
@ -938,6 +938,13 @@ const ChatRoomMixin = {
|
||||
return this.occupants.findOccupant({ nick });
|
||||
},
|
||||
|
||||
getReferenceURIFromNickname (nickname) {
|
||||
const muc_jid = this.get('jid');
|
||||
const occupant = this.getOccupant(nickname);
|
||||
const uri = (this.features.get('nonanonymous') && occupant?.get('jid')) || `${muc_jid}/${nickname}`;
|
||||
return encodeURI(`xmpp:${uri}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* Given a text message, look for `@` mentions and turn them into
|
||||
* XEP-0372 references
|
||||
@ -951,13 +958,6 @@ const ChatRoomMixin = {
|
||||
|
||||
const getMatchingNickname = p.findFirstMatchInArray(this.getAllKnownNicknames());
|
||||
|
||||
const uriFromNickname = nickname => {
|
||||
const jid = this.get('jid');
|
||||
const occupant = this.getOccupant(nickname) || this.getOccupant(jid);
|
||||
const uri = (this.features.get('nonanonymous') && occupant?.get('jid')) || `${jid}/${nickname}`;
|
||||
return encodeURI(`xmpp:${uri}`);
|
||||
};
|
||||
|
||||
const matchToReference = match => {
|
||||
let at_sign_index = match[0].indexOf('@');
|
||||
if (match[0][at_sign_index + 1] === '@') {
|
||||
@ -968,7 +968,7 @@ const ChatRoomMixin = {
|
||||
const end = begin + match[0].length - at_sign_index;
|
||||
const value = getMatchingNickname(match[1]);
|
||||
const type = 'mention';
|
||||
const uri = uriFromNickname(value);
|
||||
const uri = this.getReferenceURIFromNickname(value);
|
||||
return { begin, end, value, type, uri };
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user