fix privacy lookup stage filtering

This commit is contained in:
Bruno Windels 2020-12-04 12:35:21 +01:00
parent 85ec4ab962
commit 85b7d570e6

View file

@ -81,8 +81,8 @@ export class HomeServer {
const options = {method: "POST", body: "{}", headers}; const options = {method: "POST", body: "{}", headers};
const {status, body} = await this._request(`${this.baseURL}/_matrix/client/r0/register`, options).response(); const {status, body} = await this._request(`${this.baseURL}/_matrix/client/r0/register`, options).response();
if (status === 401 && body) { // Unauthorized if (status === 401 && body) { // Unauthorized
const stages = body.flows?.stages; const hasTermsStage = body.flows.some(flow => flow.stages.includes("m.login.terms"));
if (Array.isArray(stages) && stages.includes("m.login.terms")) { if (hasTermsStage) {
const privacyPolicy = body.params?.["m.login.terms"]?.policies?.privacy_policy; const privacyPolicy = body.params?.["m.login.terms"]?.policies?.privacy_policy;
if (privacyPolicy) { if (privacyPolicy) {
const firstLang = Object.keys(privacyPolicy).find(k => k !== "version"); const firstLang = Object.keys(privacyPolicy).find(k => k !== "version");