Skip to content

Markdown code block rendering problem on Android #42

@bitmand

Description

@bitmand

Problem

When I send a message where the first characters, in the first line, in a code block, is whitespaces, like this:

```
          Some Text
          More Test
```

Then the prepended whitespaces is removed from the first line, when displayed on Android and message looks like this:

Some Text
          More Test

On Discord Desktop and iOS app, the same message is rendered the way I would expect it:

          Some Text
          More Test

A Wild Guess Appears

I tested this markdown code block regex, but the matching seems to work correctly:

  • The first group (optionally) matches the language ( line 298 val language = ... )
  • The second group has all the lines in the code block, including all the prepended whitespaces ( line 299 val codeBody = ... )

So my suspicion is that codeBody is trimmed (removing all prepending- and appending whitespaces, newlines etc.) later on. That would explain why it only happens on the first line of the code block.

But the only use of trim() I can find is in MarkdownRules.kt in a override fun parse() function:

val classes = matcher.group(2)?.trim()?.split(' ')

..and I have zero idea if it's related in any way.

There is also the possibility that this bug is outside of SimpleAST .. ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions