aboutsummaryrefslogtreecommitdiff
path: root/internal/pushrules/default_underride.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pushrules/default_underride.go')
-rw-r--r--internal/pushrules/default_underride.go119
1 files changed, 119 insertions, 0 deletions
diff --git a/internal/pushrules/default_underride.go b/internal/pushrules/default_underride.go
new file mode 100644
index 00000000..de72bd52
--- /dev/null
+++ b/internal/pushrules/default_underride.go
@@ -0,0 +1,119 @@
+package pushrules
+
+const (
+ MRuleCall = ".m.rule.call"
+ MRuleEncryptedRoomOneToOne = ".m.rule.encrypted_room_one_to_one"
+ MRuleRoomOneToOne = ".m.rule.room_one_to_one"
+ MRuleMessage = ".m.rule.message"
+ MRuleEncrypted = ".m.rule.encrypted"
+)
+
+var defaultUnderrideRules = []*Rule{
+ &mRuleCallDefinition,
+ &mRuleEncryptedRoomOneToOneDefinition,
+ &mRuleRoomOneToOneDefinition,
+ &mRuleMessageDefinition,
+ &mRuleEncryptedDefinition,
+}
+
+var (
+ mRuleCallDefinition = Rule{
+ RuleID: MRuleCall,
+ Default: true,
+ Enabled: true,
+ Conditions: []*Condition{
+ {
+ Kind: EventMatchCondition,
+ Key: "type",
+ Pattern: "m.call.invite",
+ },
+ },
+ Actions: []*Action{
+ {Kind: NotifyAction},
+ {
+ Kind: SetTweakAction,
+ Tweak: SoundTweak,
+ Value: "ring",
+ },
+ {
+ Kind: SetTweakAction,
+ Tweak: HighlightTweak,
+ Value: false,
+ },
+ },
+ }
+ mRuleEncryptedRoomOneToOneDefinition = Rule{
+ RuleID: MRuleEncryptedRoomOneToOne,
+ Default: true,
+ Enabled: true,
+ Conditions: []*Condition{
+ {
+ Kind: RoomMemberCountCondition,
+ Is: "2",
+ },
+ {
+ Kind: EventMatchCondition,
+ Key: "type",
+ Pattern: "m.room.encrypted",
+ },
+ },
+ Actions: []*Action{
+ {Kind: NotifyAction},
+ {
+ Kind: SetTweakAction,
+ Tweak: HighlightTweak,
+ Value: false,
+ },
+ },
+ }
+ mRuleRoomOneToOneDefinition = Rule{
+ RuleID: MRuleRoomOneToOne,
+ Default: true,
+ Enabled: true,
+ Conditions: []*Condition{
+ {
+ Kind: RoomMemberCountCondition,
+ Is: "2",
+ },
+ {
+ Kind: EventMatchCondition,
+ Key: "type",
+ Pattern: "m.room.message",
+ },
+ },
+ Actions: []*Action{
+ {Kind: NotifyAction},
+ {
+ Kind: SetTweakAction,
+ Tweak: HighlightTweak,
+ Value: false,
+ },
+ },
+ }
+ mRuleMessageDefinition = Rule{
+ RuleID: MRuleMessage,
+ Default: true,
+ Enabled: true,
+ Conditions: []*Condition{
+ {
+ Kind: EventMatchCondition,
+ Key: "type",
+ Pattern: "m.room.message",
+ },
+ },
+ Actions: []*Action{{Kind: NotifyAction}},
+ }
+ mRuleEncryptedDefinition = Rule{
+ RuleID: MRuleEncrypted,
+ Default: true,
+ Enabled: true,
+ Conditions: []*Condition{
+ {
+ Kind: EventMatchCondition,
+ Key: "type",
+ Pattern: "m.room.encrypted",
+ },
+ },
+ Actions: []*Action{{Kind: NotifyAction}},
+ }
+)