Email replies truncated at code fences with tildes

I just now used email to reply to some CMake discourse code traffic, and used the
above common markdown command (that certainly works when hand-posting to CMake discourse) to surround text that was to be taken literally. However, your email filter programme incorrectly truncated everything in the post from the first instance of the above command to the end. I was able to work around the issue by hand-editing my post, but that should not be necessary so please fix this CMake discourse bug by making sure your email filter programme is aware of all valid markdown syntax that is available when you hand-edit posts.

Discourse is a general-purpose platform that we happen to deploy for CMake but do not develop or maintain ourselves. You can ask about this on upstream https://meta.discourse.org/ instead.

@brad.king said:

Discourse is a general-purpose platform that we happen to deploy for
CMake but do not develop or maintain ourselves. You can ask about
this on upstream https://meta.discourse.org/ instead.

So far in a few days use I have found one bug (the present case) and
one misfeature (email always addressed personally) for discourse.
So it is likely I will find additional issues in the near future.

However, there are two reasons why I believe that Kitware staff should
be the ones reporting the subset of these bug/misfeature complaints
that you judge to be valid to the discourse developers.

  1. You were the ones that decided that discourse was better than the
    traditional mailing-list approach that has served the CMake
    community so well in the past. I am sure you had your valid
    reasons for switching, but this choice is still your
    responsibility and not your users’ responsibility.

  2. You (now as a major user of discourse) have enormously more clout
    than than individual users when reporting such issues.

We chose to switch from mailman to discourse because web forums are what modern communities expect. It does come with some trade-offs for old-school mailing list users no infrastructure will please everyone. Discourse upstream will not consider the use of personal email addresses to be a bug or misfeature. Discourse is not a mailing list. It is a web forum with email notification features. Email notifications always go to personal email.

As for the reply-by-email truncation, let’s try to reproduce it here. Please try replying here by email with a message of the form that got truncated for you before. Let it get truncated. Then create a new separate post via the web forum in your browser using the exact same text cut-n-pasted from your email client composition. That way we’ll have a concrete example.

My gut feeling is that it’s detecting it as a signature separator. I do see this: https://github.com/discourse/discourse/blob/master/script/import_scripts/sourceforge.rb#L120 which seems to indicate that it was not supported at all at one point. I don’t see anything obvious in the code about it though.

As requested here is my attempt to trigger this bug again:

As requested here is my attempt to trigger this bug again:

# a bunch of text to leave unmolested.

more text.

As you can see, I was able to trigger the bug again. The first truncated message was a result of sending mail containing the second message.

As you can see, I was able to trigger the bug again. The first truncated message was a result
of sending mail containing the second message.

Thanks. That’s a good reference. I’m sending this reply by email to try
a different quoting syntax.

Quoted block of text.

Unquoted paragraph after quoted block.

For reference, my previous post was sent by email with this source text:

...different quoting syntax.

```
Quoted block of text.
```

Unquoted paragraph after quoted block.

Quoting with back-ticks instead of tildes works, so you can use that as a workaround.

I think discourse uses discourse/email_reply_trimmer to parse emails. The code here looks like it will consider a line of ~ characters to be a delimiter, and that is used here to remove everything following it.

Another reply by email to try another quoting syntax:

Quoted block of text.

My second post by email had the following source:

another quoting syntax:

~~~text
Quoted block of text.
~~~

Unquoted paragraph after quoted block.

The content type text on the start-block line prevented it from being treated as a delimiter, but the end-block line ~~~ was treated as a delimiter and chopped the rest of the message.

A similar problem was discussed on meta.discourse.org here:

but I think that was about rendering in the forum in general, which now works as the end of the thread claims.

I’ve posted a report on meta.discourse.org: