Skip to content

Require Zulip Server 5 #268

Open
@gnprice

Description

@gnprice

Prerequisite for this issue:

Currently the app works with any Zulip Server version 4.x or newer. This is documented in our README and reflects what's documented at https://zulip.readthedocs.io/en/latest/overview/release-lifecycle.html . With #267, we'll start giving an explicit error if the user tries to connect to an older server.

At some point we'll want to increase that minimum to 5.x. As recorded at https://blog.zulip.com/tag/major-releases/ , 4.0 was released in 2021-05, over 2 years ago, and 5.0 in 2022-03, approaching 1.5 years ago.

When we do, we can follow up by sweeping the codebase for TODO(server-5) comments and acting on all of those. That will be in the same spirit as zulip/zulip-mobile#5100 and zulip/zulip-mobile#5192 in the old zulip-mobile RN app. (And zulip/zulip-mobile#5708, though that's a draft that was made moot by our migration to Flutter.)


There is one spot where we already don't fully support older than server 5.x: currently we ignore user settings on such servers, falling back to defaults. As I wrote at #261 (comment) (reviewing @chrisbobbe's PR which introduced support for user settings and skipped it for those old servers):

Cool, sounds good. This does seem like a spot where properly supporting both old and new versions would be kind of a pain. (Would have been totally doable, if the timing were such that we had to — we'd probably use a readValue that would just be one more spot that needs another line or two of code per setting — but enough of a pain to not be worth it given that we don't have to.)

The assumption that relies on is that we will desupport server 4.x (or if not then go back and deal with the old settings API after all) before launch.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-apiImplementing specific parts of the Zulip server API

    Type

    No type

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions