Right now Lemmy is unusable for writing code that contains less than/greater than signs because Lemmy’s sanitizer treats that as potentially malicious HTML code.

Here’s an example:

if(x < y)
{
/* ... */
}

The listing becomes littered with < gibberish.

  • Tiff@reddthat.com
    link
    fedilink
    English
    arrow-up
    24
    arrow-down
    1
    ·
    1 year ago

    Don’t forget & in community names and sidebars.

    Constantly getting trolled by &

  • ඞmir@lemmy.ml
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    6
    ·
    1 year ago

    It actually looks perfectly fine on Sync for Lemmy so I assume this is only a front-end problem. There are alternative front-ends that you could try.

    • jmcs
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      This is what it looks in the web UI: Screenshot showing the bracket turns to ampersand lt

    • Crul@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      There are alternative front-ends that you could try.

      The 3 frontends for browser / PC that I know (default, mlmym and alexandrite) have this problem. Do you know of any other one that works?

      Thanks!

  • mark@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Yeah I think this was hastily done to prevent the XSS injection attacks that were happening IIRC. They implemented encoding for content, but looks like they never got around to fully decoding it.

    Issue could’ve been avoided by just restricting the encoding to when the user types content in (and before database insertion), and decoding when showing the content in the UI.