Add support for suppress edits push rule
According to MSC3958
This commit is contained in:
		
							parent
							
								
									369cf8629e
								
							
						
					
					
						commit
						31ae99cf52
					
				@ -27,6 +27,7 @@ Improvements:
 | 
			
		||||
- Add `MatrixVersion::V1_7` and `MatrixVersion::V1_8`
 | 
			
		||||
- Add support for room version 11 according to MSC3820 / Matrix 1.8
 | 
			
		||||
  - Adapt the redaction algorithm in `canonical_json`
 | 
			
		||||
- Add unstable support for suppress edits push rule (MSC3958)
 | 
			
		||||
 | 
			
		||||
# 0.11.3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -30,6 +30,7 @@ unstable-msc2870 = []
 | 
			
		||||
unstable-msc3381 = []
 | 
			
		||||
unstable-msc3931 = []
 | 
			
		||||
unstable-msc3932 = ["unstable-msc3931"]
 | 
			
		||||
unstable-msc3958 = []
 | 
			
		||||
unstable-unspecified = []
 | 
			
		||||
 | 
			
		||||
# Don't validate the version part in `KeyId`.
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,8 @@ impl Ruleset {
 | 
			
		||||
                ConditionalPushRule::tombstone(),
 | 
			
		||||
                ConditionalPushRule::reaction(),
 | 
			
		||||
                ConditionalPushRule::server_acl(),
 | 
			
		||||
                #[cfg(feature = "unstable-msc3958")]
 | 
			
		||||
                ConditionalPushRule::suppress_edits(),
 | 
			
		||||
            ]
 | 
			
		||||
            .into(),
 | 
			
		||||
            underride: [
 | 
			
		||||
@ -306,6 +308,23 @@ impl ConditionalPushRule {
 | 
			
		||||
            ],
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Matches [event replacements].
 | 
			
		||||
    ///
 | 
			
		||||
    /// [event replacements]: https://spec.matrix.org/latest/client-server-api/#event-replacements
 | 
			
		||||
    #[cfg(feature = "unstable-msc3958")]
 | 
			
		||||
    pub fn suppress_edits() -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            actions: vec![],
 | 
			
		||||
            default: true,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            rule_id: PredefinedOverrideRuleId::SuppressEdits.to_string(),
 | 
			
		||||
            conditions: vec![EventPropertyIs {
 | 
			
		||||
                key: r"content.m\.relates_to.rel_type".to_owned(),
 | 
			
		||||
                value: "m.replace".into(),
 | 
			
		||||
            }],
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Default content push rules
 | 
			
		||||
@ -535,6 +554,11 @@ pub enum PredefinedOverrideRuleId {
 | 
			
		||||
    #[ruma_enum(rename = ".m.rule.room.server_acl")]
 | 
			
		||||
    RoomServerAcl,
 | 
			
		||||
 | 
			
		||||
    /// `.m.rule.suppress_edits`
 | 
			
		||||
    #[cfg(feature = "unstable-msc3958")]
 | 
			
		||||
    #[ruma_enum(rename = ".org.matrix.msc3958.suppress_edits")]
 | 
			
		||||
    SuppressEdits,
 | 
			
		||||
 | 
			
		||||
    #[doc(hidden)]
 | 
			
		||||
    _Custom(PrivOwnedStr),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -199,6 +199,7 @@ unstable-msc3932 = ["ruma-common/unstable-msc3932"]
 | 
			
		||||
unstable-msc3954 = ["ruma-events?/unstable-msc3954"]
 | 
			
		||||
unstable-msc3955 = ["ruma-events?/unstable-msc3955"]
 | 
			
		||||
unstable-msc3956 = ["ruma-events?/unstable-msc3956"]
 | 
			
		||||
unstable-msc3958 = ["ruma-common/unstable-msc3958"]
 | 
			
		||||
unstable-pdu = ["ruma-events?/unstable-pdu"]
 | 
			
		||||
unstable-unspecified = [
 | 
			
		||||
    "ruma-common/unstable-unspecified",
 | 
			
		||||
@ -239,6 +240,7 @@ __ci = [
 | 
			
		||||
    "unstable-msc3954",
 | 
			
		||||
    "unstable-msc3955",
 | 
			
		||||
    "unstable-msc3956",
 | 
			
		||||
    "unstable-msc3958",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[dependencies]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user