Determine support by optimistically trying and looking at error response

See https://github.com/matrix-org/matrix-spec-proposals/pull/4000#discussion_r1167982535
madlittlemods/forwards-fill
Eric Eastwood 1 year ago
parent 1cdfd0bcca
commit c3bba8447e

@ -123,26 +123,28 @@ stable `/v1` location as described above.
### While the MSC is unstable ### While the MSC is unstable
During this period, to detect server support, other servers should check for the During this period, servers should optimistically try the unstable endpoint and look for
presence of the `org.matrix.msc4000` flag in `unstable_features` on `/versions`. Servers the `404` `M_UNRECOGNIZED` error code to determine support (see [MSC3743: *Standardized
are also required to use the unstable prefixes (see [unstable prefix](#unstable-prefix)) error response for unknown
during this time. endpoints*](https://github.com/matrix-org/matrix-spec-proposals/pull/3743)).
### Once the MSC is merged but not in a spec version ### Once the MSC is merged but not in a spec version
Once this MSC is merged, but is not yet part of the spec, servers should rely on the Once this MSC is merged, but is not yet part of the spec, servers should optimistically
presence of the `org.matrix.msc4000.stable` flag in `unstable_features` to determine use the stable endpoint and fallback to the unstable endpoint to have maximum
server support. If the flag is present, servers are required to use stable prefixes (see compatibility if desired.
[unstable prefix](#unstable-prefix)).
### Once the MSC is in a spec version ### Once the MSC is in a spec version
Once this MSC becomes a part of a spec version, servers should rely on the presence of Once this MSC becomes a part of a spec version, servers should optimistically use the
the spec version, that supports the MSC, in `versions` on `/versions`, to determine stable endpoint. If a given server doesn't support the endpoint, another server in the
support. Servers are encouraged to keep the `org.matrix.msc4000.stable` flag around for room can be tried until all are exhausted.
a reasonable amount of time to help smooth over the transition for other servers.
"Reasonable" is intentionally left as an implementation detail, however the MSC process Servers can keep falling back to the unstable endpoint and are encouraged (not
currently recommends *at most* 2 months from the date of spec release. obligated) to serve the unstable fallback endpoint for a reasonable amount of time to
help smooth over the transition for other servers. "Reasonable" is intentionally left as
an implementation detail, however the MSC process currently recommends *at most* 2
months from the date of spec release.

Loading…
Cancel
Save