Skip to content

Handle unrecoverable long-poll failures #186

Closed
@gnprice

Description

@gnprice

As described in #184, when a long-poll for events fails, the current prototype just stops polling. That issue is about transient failures, and #185 is about a non-transient but recoverable error. That leaves failures that we can't expect to fix, neither by just retrying nor by some other request: e.g., the user's auth credentials were rejected.

At a minimum, in this case we should give the user some indication that the data they're seeing is no longer being updated: e.g. set the isStale flag mentioned in #185.

If specifically what happened is that authentication failed, then we should probably ask the user to log in again to that account.

If we do those two things, and also make sure the user always has the option to navigate away so they can add or choose another account to use, then I think that's pretty satisfactory. This situation shouldn't be common, so it's OK if it isn't super smooth as long as there's some reasonable way for the user to recover.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-apiImplementing specific parts of the Zulip server APIa-syncEvent queue; retry; local echo; races

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions