Merge pull request #3415 from matrix-org/travis/min-updates

Only update m.accepted_terms if there were changes
pull/21833/head
Travis Ralston 2019-09-10 12:43:05 -06:00 committed by GitHub
commit 7fcabd799d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -116,6 +116,7 @@ export async function startTermsFlow(
} }
// if there's anything left to agree to, prompt the user // if there's anything left to agree to, prompt the user
const numAcceptedBeforeAgreement = agreedUrlSet.size;
if (unagreedPoliciesAndServicePairs.length > 0) { if (unagreedPoliciesAndServicePairs.length > 0) {
const newlyAgreedUrls = await interactionCallback(unagreedPoliciesAndServicePairs, [...agreedUrlSet]); const newlyAgreedUrls = await interactionCallback(unagreedPoliciesAndServicePairs, [...agreedUrlSet]);
console.log("User has agreed to URLs", newlyAgreedUrls); console.log("User has agreed to URLs", newlyAgreedUrls);
@ -125,8 +126,11 @@ export async function startTermsFlow(
console.log("User has already agreed to all required policies"); console.log("User has already agreed to all required policies");
} }
const newAcceptedTerms = { accepted: Array.from(agreedUrlSet) }; // We only ever add to the set of URLs, so if anything has changed then we'd see a different length
await MatrixClientPeg.get().setAccountData('m.accepted_terms', newAcceptedTerms); if (agreedUrlSet.size !== numAcceptedBeforeAgreement) {
const newAcceptedTerms = {accepted: Array.from(agreedUrlSet)};
await MatrixClientPeg.get().setAccountData('m.accepted_terms', newAcceptedTerms);
}
const agreePromises = policiesAndServicePairs.map((policiesAndService) => { const agreePromises = policiesAndServicePairs.map((policiesAndService) => {
// filter the agreed URL list for ones that are actually for this service // filter the agreed URL list for ones that are actually for this service