i don’t know if this is an issue regarding Discourse exactly or if it’s coming from twitter API but I wanted to share this little bug, when we share a tweet from a account that has a underscore in its username, the link is broken on Discourse, here is an example :
Then it’s something @sam will have to add to his list for later. In the meantime, replace the underscore with the URL-encoded version of the character.
It’s possible to fix, but not easy. Workaround available.
Correct solution is to make linkifier part of tokenizer process. That’s expensive (for example, email lookahead check for every character). Tradeoff is to listen : then do look behind for http(s), and lookahead for the rest. That’s not universal, but will cover all real cases:
http/https links will be parsed with other tokens, with higher priority than emphasis
everything else will be detected via text scan & regexps (as linkifier works now), probability of collision is very low.
I have no plans to do this, but if anyone wish to implement - see explanation above. Or use < >
Könnten wir dies beheben, indem wir die Arbeit in unserem Einfüge-Handler erledigen und, wenn wir eine URL einfügen, Unterstriche im Query-String prozentual kodieren?
Ich stimme nicht zu; https:// ist eine SO seltene Zeichenfolge, dass ich denke, das Herumspielen ist normalerweise ziemlich sicher.
(Außer in Codeblöcken, also gibt es das, aber wenn die Zwischenablage NUR EINE URL ist, dann ist sie meiner Meinung nach ziemlich sicher. Wenn Sie also einen Anker von „beginnt mit https://“ hätten, kann ich mit 99,99 %iger Sicherheit garantieren, dass er sicher ist.)