python-zulip-api icon indicating copy to clipboard operation
python-zulip-api copied to clipboard

Python REST API: Fail fast if code is either "UNAUTHORIZED" or "BAD_REQUEST"

Open showell opened this issue 1 year ago • 3 comments

The Python REST API has aggressive retry logic if the underlying call to the server in call_on_each_event does not succeed. This retry logic can obscure obvious problems such as somebody having an out-of-date API key or somebody not supplying the correct type of narrow arguments.

There are more details here: https://chat.zulip.org/#narrow/stream/137-feedback/topic/api.20client.20silent.20failure

You will want to discuss the best approaches on Zulip before proceeding, but the basic idea is to look for "UNAUTHORIZED" or "BAD_REQUEST" in the code field that comes back from the server, and if you see those, you should immediately have the function either raise an Exception or somehow make it clear to the API author that they need to fix the problem.

showell avatar May 31 '23 22:05 showell

In particular, it's probably a good idea to mimic what mobile does here: https://chat.zulip.org/#narrow/stream/137-feedback/topic/api.20client.20silent.20failure/near/1582288

There may be some subtle differences for what the Python API does, but the overall philosophy should be the same.

showell avatar May 31 '23 22:05 showell

@showell is this the same issue as #533 ?, if we can detect wrong credentials this will be solved as well

codewithnick avatar Jan 18 '24 03:01 codewithnick

@timabbott can you please help me with this, the issue #533 looks like the root cause , also i am unable to claim that issue

codewithnick avatar Jan 19 '24 15:01 codewithnick