Continuing the discussion from Date selector in Topic Timer :
Problem
I tried to reproduce here, using multiple dates, and inserting code fences blocks, but it didn’t reproduce until
https://try.discourse.org/t/testing-insert-date-bug/1130/2 (this link will become obsolete by tomorrow, but it shows like the screenshot above.)
Cause
Finally I found the cause of the bug: the failing render follows an HTML tag with an attribute!
<abbr title="Coordinated Universal Time">UTC</abbr>
[date=2018-06-28 time=07:00 format=“HH:mm” timezones=“Europe/Brussels”] ![:arrow_right:](//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/5/a/5aa33b89419423f0712cf1e6c72f0813cb3f082c.png) [date=2018-06-28 time=15:00 format=“HH:mm” timezones=“Europe/Brussels”]
fails to render:
UTC
07:00 15:00
Solution
Avoid using HTML tags in Markdown – Or maybe implement <abbr> in CommonMark .
I suppose that an HTML tag appearing in a previous paragraph should not affect rendering later on though.
In any case: when things fail, check for a mix of HTML and Markdown.
Why do you need to use an emoji arrow? Use →
I simply pasted the result I got from using the ‘Insert Date’ button. The emoji transformation must be part of the cooking.
Edit: here is pasted the original character (or ➡
with backquotes)
Edit:
'➡'.unpack('U*')
=> [10145]
Yes ➡
will be cooked as an emoji
I will give it a look to this tomorrow.
Test:
A
07:00
2 Likes
This has actually nothing to do with insert-date. It’s a limitation of textPostProcess
For example it would fail with categories too, first one will work, ANYTHING AFTER abbr won’t (like my @sam mention) :
feature
<abbr>A</abbr>
A
feature
My understanding is that the next block after abbr will be transformed to a paragraph and not interpreted by textPostProcess. This is a behavior from our sanitizer https://github.com/discourse/discourse/blob/master/test/javascripts/lib/sanitizer-test.js.es6#L117:
@sam any idea on this please? Do you think it’s worth fixing? Seems like very very edge case in my book.
sam
(Sam Saffron)
July 4, 2018, 10:16pm
6
Something is not right internally cause <small>
does not cause this issue nor does <sub>
or <ins>
or <kbd>
I am guessing this is something internally is broken in sanitizer that is specific to this inline tag. Probably worth fixing.
sam
(Sam Saffron)
July 4, 2018, 11:28pm
7
4 Likes
sam
(Sam Saffron)
Closed
July 6, 2018, 8:00am
8
This topic was automatically closed after 32 hours. New replies are no longer allowed.