this post was submitted on 04 Jul 2023
383 points (97.8% liked)

Programmer Humor

32558 readers
1009 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 26 points 1 year ago (4 children)

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.

[–] [email protected] 17 points 1 year ago (2 children)

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

[–] [email protected] 18 points 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.

[–] [email protected] 2 points 1 year ago (2 children)

Well, what should Jerboa do? Pretend it received content?

[–] [email protected] 18 points 1 year ago

Take it as an error, tell the user about it and then retry with exponential back-off.

[–] [email protected] 16 points 1 year ago

It should display a human-readable error message instead of the raw one.

[–] [email protected] 6 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago* (last edited 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.

[–] [email protected] 2 points 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.

[–] [email protected] 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 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.