state-res: Add info for room version 7, 8, and 9
This commit is contained in:
		
							parent
							
								
									a100cf9728
								
							
						
					
					
						commit
						0e1cf5b3f6
					
				| @ -61,6 +61,10 @@ pub struct RoomVersion { | ||||
|     pub limit_notifications_power_levels: bool, | ||||
|     /// Extra rules when verifying redaction events.
 | ||||
|     pub extra_redaction_checks: bool, | ||||
|     /// Allow knocking in event authentication.
 | ||||
|     pub allow_knocking: bool, | ||||
|     /// Allow knocking in event authentication.
 | ||||
|     pub restricted_join_rules: bool, | ||||
| } | ||||
| 
 | ||||
| impl RoomVersion { | ||||
| @ -72,6 +76,12 @@ impl RoomVersion { | ||||
|             RoomVersionId::Version4 => Self::version_4(), | ||||
|             RoomVersionId::Version5 => Self::version_5(), | ||||
|             RoomVersionId::Version6 => Self::version_6(), | ||||
|             #[cfg(feature = "unstable-pre-spec")] | ||||
|             RoomVersionId::Version7 => Self::version_7(), | ||||
|             #[cfg(feature = "unstable-pre-spec")] | ||||
|             RoomVersionId::Version8 => Self::version_8(), | ||||
|             #[cfg(feature = "unstable-pre-spec")] | ||||
|             RoomVersionId::Version9 => Self::version_9(), | ||||
|             ver => return Err(Error::Unsupported(format!("found version `{}`", ver.as_str()))), | ||||
|         }) | ||||
|     } | ||||
| @ -87,6 +97,8 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: false, | ||||
|             limit_notifications_power_levels: false, | ||||
|             extra_redaction_checks: false, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -101,6 +113,8 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: false, | ||||
|             limit_notifications_power_levels: false, | ||||
|             extra_redaction_checks: false, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -115,6 +129,8 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: false, | ||||
|             limit_notifications_power_levels: false, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -129,6 +145,8 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: false, | ||||
|             limit_notifications_power_levels: false, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -143,6 +161,8 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: false, | ||||
|             limit_notifications_power_levels: false, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -157,6 +177,61 @@ impl RoomVersion { | ||||
|             strict_canonicaljson: true, | ||||
|             limit_notifications_power_levels: true, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     #[cfg(feature = "unstable-pre-spec")] | ||||
|     pub fn version_7() -> Self { | ||||
|         Self { | ||||
|             version: RoomVersionId::Version7, | ||||
|             disposition: RoomDisposition::Stable, | ||||
|             event_format: EventFormatVersion::V3, | ||||
|             state_res: StateResolutionVersion::V2, | ||||
|             enforce_key_validity: true, | ||||
|             special_case_aliases_auth: false, | ||||
|             strict_canonicaljson: true, | ||||
|             limit_notifications_power_levels: true, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: true, | ||||
|             restricted_join_rules: false, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     #[cfg(feature = "unstable-pre-spec")] | ||||
|     pub fn version_8() -> Self { | ||||
|         Self { | ||||
|             version: RoomVersionId::Version8, | ||||
|             disposition: RoomDisposition::Stable, | ||||
|             event_format: EventFormatVersion::V3, | ||||
|             state_res: StateResolutionVersion::V2, | ||||
|             enforce_key_validity: true, | ||||
|             special_case_aliases_auth: false, | ||||
|             strict_canonicaljson: true, | ||||
|             limit_notifications_power_levels: true, | ||||
|             extra_redaction_checks: true, | ||||
|             // Wait so should this be false?
 | ||||
|             // because: https://github.com/matrix-org/matrix-doc/pull/3289#issuecomment-884165177
 | ||||
|             allow_knocking: false, | ||||
|             restricted_join_rules: true, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     #[cfg(feature = "unstable-pre-spec")] | ||||
|     pub fn version_9() -> Self { | ||||
|         Self { | ||||
|             version: RoomVersionId::Version9, | ||||
|             disposition: RoomDisposition::Stable, | ||||
|             event_format: EventFormatVersion::V3, | ||||
|             state_res: StateResolutionVersion::V2, | ||||
|             enforce_key_validity: true, | ||||
|             special_case_aliases_auth: false, | ||||
|             strict_canonicaljson: true, | ||||
|             limit_notifications_power_levels: true, | ||||
|             extra_redaction_checks: true, | ||||
|             allow_knocking: true, | ||||
|             restricted_join_rules: true, | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user