Remix.run Logo
azalemeth 6 hours ago

I literally just came to HN to ask if I was alone with the acurséd "API Error: 500 {"type":"error","error":{"type":"api_error","message":"Internal server error"},"request_id":"…"}" greeting me and telling me to get back to using my brain!

xnorswap 6 hours ago | parent [-]

500-series errors are server-side, 400 series are client side.

A 500 error is almost never "just you".

( 404 is a client error, because it's the client requesting a file that does not exist, a problem with the client, not the server, who is _obviously_ blameless in the file not existing. )

darkwater 6 hours ago | parent | next [-]

> A 500 error is almost never "just you".

I know you added the defensive "almost" but if I had a dollar each time I saw a 500 due to the session cookies being sent by the client that made the backend explode - for whatever root cause - well, I would have a fatter wallet.

iainmerrick 3 hours ago | parent | next [-]

Depending on what you mean by "made the backend explode", that is a server error, so 500 is correct!

Bad input should be a 4xx, but if the server can't cope with it, that's still a 5xx.

xnorswap 6 hours ago | parent | prev [-]

Indeed, and also there's a special circle of hell reserved for anyone who dares change the interface on a public API, and forgets about client caching leading to invalid requests but only for one or two confused users in particular.

Bonus points if due to the way that invalid requests are rejected, they are filtered out as invalid traffic and don't even show up as a spike in the application error logs.

azalemeth 6 hours ago | parent | prev [-]

I know that in principle this is true. However, I have seen claude shadow-throttle my ipv4 address (I am behind CGNAT), in line with their "VPN" policy -- so I do not trust it, frankly.

paganel 4 hours ago | parent [-]

> in line with their "VPN" policy

This is how I learn that they have a "VPN" policy. Thinking of it maybe it makes sense, that is if it's what I think it is, but seems scummy nonetheless.