[mastodon-client] Fail gracefully if user resolve fails
This commit is contained in:
parent
9d9e069588
commit
5e6594d91d
1 changed files with 14 additions and 14 deletions
|
@ -1257,31 +1257,31 @@ export default class Misskey implements MegalodonInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getMentions(text: string, cache: AccountCache): Promise<Entity.Mention[]> {
|
public async getMentions(text: string, cache: AccountCache): Promise<Entity.Mention[]> {
|
||||||
console.log(`getting mentions for message: '${text}'`);
|
|
||||||
const mentions :Entity.Mention[] = [];
|
const mentions :Entity.Mention[] = [];
|
||||||
|
|
||||||
if (text == undefined)
|
if (text == undefined)
|
||||||
return mentions;
|
return mentions;
|
||||||
|
|
||||||
console.log('text is not undefined, continuing');
|
|
||||||
|
|
||||||
const mentionMatch = text.matchAll(/(?<=^|\s)@(?<user>.*?)(?:@(?<host>.*?)|)(?=\s|$)/g);
|
const mentionMatch = text.matchAll(/(?<=^|\s)@(?<user>.*?)(?:@(?<host>.*?)|)(?=\s|$)/g);
|
||||||
|
|
||||||
for (const m of mentionMatch) {
|
for (const m of mentionMatch) {
|
||||||
if (m.groups == null)
|
try {
|
||||||
continue;
|
if (m.groups == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
const account = await this.getAccountByNameCached(m.groups.user, m.groups.host, cache);
|
const account = await this.getAccountByNameCached(m.groups.user, m.groups.host, cache);
|
||||||
|
|
||||||
if (account == null)
|
if (account == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
mentions.push({
|
mentions.push({
|
||||||
id: account.id,
|
id: account.id,
|
||||||
url: account.url,
|
url: account.url,
|
||||||
username: account.username,
|
username: account.username,
|
||||||
acct: account.acct
|
acct: account.acct
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
return mentions;
|
return mentions;
|
||||||
|
|
Loading…
Reference in a new issue