Fix: sync intentional mentions push rules with legacy rules (#11667)

* fix monitorSyncedPushRules when primary rule is disabled

* sync intentional mentions rules

* remove debug log
This commit is contained in:
Kerry 2023-09-27 13:03:38 +13:00 committed by GitHub
parent 4d0d024e86
commit 0d367a7c7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 67 additions and 3 deletions

View file

@ -111,6 +111,7 @@ export const VectorPushRulesDefinitions: Record<string, VectorPushRuleDefinition
[VectorState.Loud]: StandardActions.ACTION_HIGHLIGHT_DEFAULT_SOUND,
[VectorState.Off]: StandardActions.ACTION_DISABLED,
},
syncedRuleIds: [RuleId.IsUserMention],
}),
// Messages containing @room
@ -122,6 +123,7 @@ export const VectorPushRulesDefinitions: Record<string, VectorPushRuleDefinition
[VectorState.Loud]: StandardActions.ACTION_HIGHLIGHT,
[VectorState.Off]: StandardActions.ACTION_DISABLED,
},
syncedRuleIds: [RuleId.IsRoomMention],
}),
// Messages just sent to the user in a 1:1 room

View file

@ -63,7 +63,9 @@ const monitorSyncedRule = async (
const primaryRuleVectorState = definition.ruleToVectorState(primaryRule);
const outOfSyncRules = syncedRules.filter(
(syncedRule) => definition.ruleToVectorState(syncedRule) !== primaryRuleVectorState,
(syncedRule) =>
syncedRule.enabled !== primaryRule.enabled ||
definition.ruleToVectorState(syncedRule) !== primaryRuleVectorState,
);
if (outOfSyncRules.length) {
@ -71,7 +73,7 @@ const monitorSyncedRule = async (
matrixClient,
// eslint-disable-next-line camelcase, @typescript-eslint/naming-convention
outOfSyncRules.map(({ rule_id }) => rule_id),
primaryRule.actions,
primaryRule.enabled ? primaryRule.actions : undefined,
);
}
};