diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d943092..f89a33b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,12 +20,8 @@ If you are using an older version, Chat Federation could be broken, and it could * If the remote instance has configured external XMPP connections, it will use legacy S2S connection instead of Websocket S2S. TODO: documentation, and settings names/descriptions changes related to direct XMPP S2S connections. -TODO?: mod_s2s_peertubelivechat: dont allow to connect to remote server that are not Peertube servers? TODO: only compatible with Prosody 0.12.x. So it should be documented for people using «system Prosody». And i should fix the ARM AppImage. -TODO: it seems that in some case A->B can be Websocket, and B->A direct S2S. Check if this is fine. And maybe we can optimise some code, by allowing directS2S even if current server dont accept it. TODO?: always generate self-signed certificates. Could be used for outgoing s2s? -TODO: check in the diagnostic tool that Prosody is >=0.12 -TODO?: allow directs2s on one side and websocket on the other? (currently disallowed by compatibleRemoteAuthenticatedConnectionEnabled) ### Minor changes and fixes diff --git a/server/lib/federation/connection-infos.ts b/server/lib/federation/connection-infos.ts index daab27ea..d1bce7bb 100644 --- a/server/lib/federation/connection-infos.ts +++ b/server/lib/federation/connection-infos.ts @@ -52,6 +52,13 @@ function compatibleRemoteAuthenticatedConnectionEnabled ( if (!('xmppserver' in livechatInfos)) { return false } if (!livechatInfos.xmppserver) { return false } + // FIXME: these tests does not really represent what Prosody will do. + // Prosody can use Websocket in one way and Direct S2S in the other. + // I don't really know what to test here. + // In real case scenario, we should always have Websocket S2S on both side... + // They are rare cases where Websocket is disabled on an entire server. + // In such case, we indeed need direct S2S on both side. + // So these tests should work. if (canWebsocketS2S && livechatInfos.xmppserver.websockets2s) { return true } if (canDirectS2S && livechatInfos.xmppserver.directs2s) { return true }