From 6a0d07c79971abd9754b780dc26489ef2d6d05e3 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Tue, 9 Feb 2021 11:18:55 +0000 Subject: [PATCH] Public rooms directory backwards compatibility note --- proposals/2403-knock.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/proposals/2403-knock.md b/proposals/2403-knock.md index fcf8cfaa9..6bad472d8 100644 --- a/proposals/2403-knock.md +++ b/proposals/2403-knock.md @@ -325,7 +325,7 @@ of these methods for room discovery is the public rooms directory, which allows us to explore a list of rooms we may be able to join. The spec does not prevent us from adding rooms with 'knock' join_rules to the -public rooms directory. However, there is a problem in that a user attempting +public rooms directory. However, a user attempting to join a room in the directory will not know whether to directly attempt a join, or to knock first. The current content of a `PublicRoomsChunk` does not contain this information: @@ -347,10 +347,14 @@ contain this information: Therefore this proposal adds `join_rule` as a new, required field to a `PublicRoomsChunk`. The `join_rule` of knockable rooms will be `knock`, thus -giving clients the information they need to know how to attempt entry of -a room when a client selects it, as well as allowing clients to display +giving clients the information they need to attempt entry of +a room when a client selects it. It also allows clients to display knockable rooms differently than publicly joinable ones. +For backwards compatibility with old servers, if a client does not find a +`join_rule` key in a chunk, then it should assume a `join_rule` key with +value `public`. + ## Server-Server API Similarly to join and leave over federation, a ping-pong game with two new