nobody contributing to our upstream dependency responded within two weeks, and in the sake of getting it off our plates as quickly as possible without having to reverse-engineer someone else's Markdown parser, we've decided to disable Github Flavored Markdown processing in profiles and posts containing more than 256 lines separated by only a single newline. if you post an extremely long single-spaced paragraph, the following Markdown features will stop working in your post:
- automatically converting URLs and e-mail addresses to links;
- struck-through text;
- and task lists.
we'll let you know if and when this changes.
Q: why is this bug happening?
A: hell if we know. our underlying GFM table parser -- a piece of software with more than 600,000 weekly downloads on npm, so we shouldn't be the only ones hitting this issue -- seems to churn through a bunch of memory allocations if it sees a long sequence of lines which could possibly be a table.
Q: why 256?
A: it's a round number. also, the performance characteristics start getting bad around there, and are too bad for us to tolerate well before 512.
Q: "Github Flavored Markdown"?
A: yeah. Markdown was originally invented by Aaron Swartz (yes, that Aaron Swartz) and John Gruber (an influential Apple and user experience blogger) in the early 2000s as a markup language for rich text, and one of its greatest sins is that for almost a decade the best available specification was just a page on Gruber's blog. so, as it took off across the web, a bunch of different companies introduced incompatible dialects of it with different subsets of added functionality. Github's dialect was, inexplicably, one of the big ones that stuck, and provides some features that never officially got standardized.
Q: task lists?
A: yeah, we weren't sure if those worked on here either, but turns out they do.