From b36fc35e04c61faee184d49b00fac30452c1f76b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 23 May 2021 16:28:17 +0300 Subject: [PATCH] Don't remove zero-width joiners from middle of displaynames --- mautrix_telegram/puppet.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mautrix_telegram/puppet.py b/mautrix_telegram/puppet.py index d164079f..d214faa0 100644 --- a/mautrix_telegram/puppet.py +++ b/mautrix_telegram/puppet.py @@ -209,7 +209,9 @@ class Puppet(BasePuppet): whitespace = ("\t\n\r\v\f \u00a0\u034f\u180e\u2063\u202f\u205f\u2800\u3000\u3164\ufeff" "\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b" "\u200c\u200d\u200e\u200f\ufe0f") - name = "".join(c for c in name.strip(whitespace) if unicodedata.category(c) != 'Cf') + allowed_other_format = ("\u200d", "\u200c") + name = "".join(c for c in name.strip(whitespace) if unicodedata.category(c) != 'Cf' + or c in allowed_other_format) return name @classmethod