xrav3nz
13. September 2019 um 14:18
8
Ich antworte hier, damit andere den Kontext haben.
Ich fand das seltsam, da der Benachrichtigungs-Tab nicht denselben Rendering-Codepfad nutzt wie die anderen. Daher habe ich das neue Quick-Access-Feature lokal rückgängig gemacht und kann das Problem immer noch reproduzieren:
Ich glaube, dies ist ein extrem seltener Fall in unserer clientseitigen I18n.t, und hier ist ein minimaler fehlerhafter Test dafür: https://github.com/xrav3nz/discourse/commit/3d7324281a285158fe75f9e7b42574906c940e49 .
Behoben mit:
master ← xrav3nz:fix/i18n-js-edge-case
merged 05:52PM - 16 Sep 19 UTC
> Context: https://meta.discourse.org/t/notification-character-bug/128461/8
I… was almost pulling my hairs out wondering why this would happen, then I took a closer look at [the `replace(pattern, replacement)` function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter):
> The `replacement` string can include the following special replacement patterns:
>
> Pattern | Inserts
> -- | --
> $& | Inserts the matched substring.
> ... | ...
The dollar sign (`$`) is a special replace pattern, and `$&` inserts the matched string... 😅 Thus dollars signs need to be escaped with the special pattern `$$`, which inserts a single `$`.
Let me know what you think, thanks!
9 „Gefällt mir“