diff --git a/packages/backend/src/mfm/from-html.ts b/packages/backend/src/mfm/from-html.ts
index e745777bf..b00c86741 100644
--- a/packages/backend/src/mfm/from-html.ts
+++ b/packages/backend/src/mfm/from-html.ts
@@ -68,14 +68,16 @@ export function fromHtml(html: string, quoteUri?: string | null): string {
case 'a':
{
- const txt = getText(node);
+ // trim spaces away, because some AP servers (app.wafrn.net) send strange
+ // zero width non-break space in strange places and things like that
+ const txt = getText(node).trim();
const href = getAttr(node, 'href');
// hashtags
if (txt.startsWith('#') && href && (attrHas(node, 'rel', 'tag') || attrHas(node, 'class', 'hashtag'))) {
text += txt;
- // mentions
- } else if (txt.startsWith('@') && !attrHas(node, 'rel', 'me')) {
+ // mentions: a link that starts with `@` and does not include space
+ } else if (txt.startsWith('@') && txt.match(/\s/) == null && !attrHas(node, 'rel', 'me')) {
const part = txt.split('@');
if (part.length === 2 && href) {