• buda@lemmy.ml
    link
    fedilink
    English
    arrow-up
    34
    arrow-down
    2
    ·
    1 year ago

    Serious Answer: This is a Jerboa issue. Lemmy is written in Rust. The error message is a Java error which is what native Android apps use.

    • Serinus@lemmy.ml
      link
      fedilink
      English
      arrow-up
      17
      ·
      1 year ago

      I think it’s both, actually. Lemmy is often giving html where json is expected, and Jerboa isn’t handling the error well.

      • usernotfound@lemmy.ml
        link
        fedilink
        English
        arrow-up
        19
        ·
        1 year ago

        🤔 The server spits out html when it cannot reach the backend. So one could argue it’s a configuration issue because the admin didn’t provide enough capacity / didn’t set up a proper generic json error for backend failures.

        FWIW, Liftoff doesn’t handle these super gracefully either.

        At any rate I think it’s kinda awesome that we get to witness these kinds of infancy problems.

    • MysteriousSophon21@lemmy.ca
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      No, it’s probably when the app is expecting a json but the server returns an html, which usually happens in case of 502 errors.

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

        You really shouldn’t be expecting any content type when you get any code but a 200. If anything you should expect HTML, then, possibly plain text.

    • nothacking
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      No, this is a lemmy issue. The API specification specifies a JSON response, and the server randomly provides HTML, this is a bug in the server. I agree that Jebora should retry in the case of a network failure (timeout, 4xx staus codes…) but it should not have to retry in a case of a server that is not folowing the standard.

      • mc1472@lemmy.fmhy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        lemmy does not return 502 error codes because 502 means “bad gateway” and lemmy is not acting as a gateway, nginx is. An nginx sends the html. All apps should check the status code for codes like this one that don’t come from apps.

      • Irisos@lemmy.umainfo.live
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Unfortunately this is a bug in the UI.

        Yes a 502 returns html (from nginx). But at that point, you should be validating the status code of the response instead of attempting a deserialization right away.

        This is a basic thing which according to other comments at least 4 apps are not doing and should definitely be present.

    • Morcyphr@lemmy.one
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      If it’s Jerboa/Android app issue, why do I get JSON errors using Lemmy on my desktop PC with Firefox? Forgive me if this is a dumb question, I have very little programming knowledge.