Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edit composer doesn't show the original markdown and can mess up the formatting of lists #13474

Closed
babolivier opened this issue May 1, 2020 · 5 comments

Comments

@babolivier
Copy link
Contributor

Sorry if this is a duplicate, I couldn't find any other issue about this.

For example, let's consider this message:

Here's a list:

1. foo
    - bar
    - baz

Which renders like this on Riot:

image

When sent, if I click the edit button, this is what appears in the edit composer:

Here's a list:
1. foo
  - bar
  - baz

Which doesn't have the same level of indentation, and also removed the blank line between the paragraph and the line (this latter point doesn't affect rendering here, but I've seen cases where it did).

If I edit this message (e.g. adding an extra r to bar) without fixing the markdown by hand, the message renders like this:

image

Without having any knowledge of how the composer works under the hood, it seems weird to me that it doesn't just show what's in the body of the original event.

I can't see any error in the console when showing up the composer.

@MadLittleMods MadLittleMods changed the title Edit composer doesn't show the original markdown and can mess up the formating Edit composer doesn't show the original markdown and can mess up the formatting of lists Oct 5, 2021
@robintown
Copy link
Member

Fixed by matrix-org/matrix-react-sdk#7300

@babolivier
Copy link
Contributor Author

I'm not sure this is fixed. It looks like the linked PR only fixes a symptom of this issue, which is the bad indentation of ordered lists.

If I send

Here's a list:

1. foo
    * bar
    * baz

and edit that message, the edit composer shows

Here's a list:
1. foo
    - bar
    - baz

which isn't the original markdown I sent. It's also not the markdown that's in the event's body (which does reflect what I originally sent).

I think this issue needs to be reopened (I seem to have lost perms to do this, which is probably a good thing, but means that I can't do it by myself anymore).

@t3chguy
Copy link
Member

t3chguy commented Mar 8, 2022

which isn't the original markdown I sent. It's also not the markdown that's in the event's body (which does reflect what I originally sent).

As per the spec, the body is a plaintext representation, not specifically markdown so it can't be trusted as such esp as markdown dialects can vary between clients. * and - are both list notations so are pretty much equivelant.

@robintown
Copy link
Member

What @t3chguy said, but there are also #10725 and element-hq/element-meta#1493 to track the more general idea of preserving Markdown verbatim

@babolivier
Copy link
Contributor Author

Oh right so it's not closed by matrix-org/matrix-react-sdk#7300 but as a duplicate of #10725 (now that the list formatting part of the problem is fixed). Gotcha, thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants