mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
chore: Clippy fixes
This commit is contained in:
@@ -11,7 +11,7 @@ use std::fmt::Debug;
|
||||
|
||||
use ruma::{
|
||||
CanonicalJsonObject, EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, RoomId,
|
||||
RoomVersionId, UserId, events::TimelineEventType, room_version_rules::RoomVersionRules,
|
||||
UserId, events::TimelineEventType, room_version_rules::RoomVersionRules,
|
||||
};
|
||||
use serde::Deserialize;
|
||||
use serde_json::{Value as JsonValue, value::RawValue as RawJsonValue};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use ruma::{CanonicalJsonObject, OwnedEventId, room_version_rules::RoomVersionRules};
|
||||
use serde_json::value::RawValue as RawJsonValue;
|
||||
|
||||
use crate::{Err, Result, err};
|
||||
use crate::{Result, err};
|
||||
|
||||
/// Generates a correct eventId for the incoming pdu.
|
||||
///
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use ruma::{
|
||||
OwnedEventId, RoomVersionId,
|
||||
OwnedEventId,
|
||||
events::{TimelineEventType, room::redaction::RoomRedactionEventContent},
|
||||
room_version_rules::RoomVersionRules,
|
||||
};
|
||||
@@ -64,8 +64,6 @@ pub(super) fn redacts_id<E: Event>(
|
||||
event: &E,
|
||||
room_version_rules: &RoomVersionRules,
|
||||
) -> Option<OwnedEventId> {
|
||||
use RoomVersionId::*;
|
||||
|
||||
if *event.kind() != TimelineEventType::RoomRedaction {
|
||||
return None;
|
||||
}
|
||||
|
||||
@@ -127,9 +127,7 @@ impl Event for Pdu {
|
||||
} else {
|
||||
// v12+
|
||||
let constructed_hash = self.event_id.as_str().replace('$', "!");
|
||||
RoomId::parse(&constructed_hash)
|
||||
.expect("event ID can be parsed")
|
||||
.to_owned()
|
||||
RoomId::parse(&constructed_hash).expect("event ID can be parsed")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,9 +198,7 @@ impl Event for &Pdu {
|
||||
} else {
|
||||
// v12+
|
||||
let constructed_hash = self.event_id.as_str().replace('$', "!");
|
||||
RoomId::parse(&constructed_hash)
|
||||
.expect("event ID can be parsed")
|
||||
.to_owned()
|
||||
RoomId::parse(&constructed_hash).expect("event ID can be parsed")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use ruma::{RoomVersionId, canonical_json::redact_content_in_place};
|
||||
use serde_json::{Value as JsonValue, json, value::to_raw_value};
|
||||
|
||||
use crate::{Err, Error, Result, err, implement};
|
||||
use crate::{Err, Result, err, implement};
|
||||
|
||||
#[implement(super::Pdu)]
|
||||
pub fn redact(&mut self, room_version_id: &RoomVersionId, reason: JsonValue) -> Result {
|
||||
|
||||
@@ -85,6 +85,7 @@ pub fn auth_types_for_event(
|
||||
|
||||
if kind == &TimelineEventType::RoomMember {
|
||||
#[derive(Deserialize)]
|
||||
#[allow(unused)]
|
||||
struct RoomMemberContentFields {
|
||||
membership: Option<Raw<MembershipState>>,
|
||||
third_party_invite: Option<Raw<ThirdPartyInvite>>,
|
||||
@@ -1003,8 +1004,8 @@ where
|
||||
} else {
|
||||
let allow = sender_creator
|
||||
|| sender_power
|
||||
.filter(|&p| p >= &power_levels.invite)
|
||||
.is_some();
|
||||
.as_ref()
|
||||
.is_some_and(|&p| p >= &power_levels.invite);
|
||||
if !allow {
|
||||
warn!(
|
||||
%sender,
|
||||
@@ -1029,7 +1030,10 @@ where
|
||||
},
|
||||
| MembershipState::Leave => {
|
||||
let can_unban = if target_user_current_membership == MembershipState::Ban {
|
||||
sender_creator || sender_power.filter(|&p| p >= &power_levels.ban).is_some()
|
||||
sender_creator
|
||||
|| sender_power
|
||||
.as_ref()
|
||||
.is_some_and(|&p| p >= &power_levels.ban)
|
||||
} else {
|
||||
true
|
||||
};
|
||||
@@ -1040,7 +1044,10 @@ where
|
||||
if sender_creator {
|
||||
// sender is a creator
|
||||
true
|
||||
} else if sender_power.filter(|&p| p >= &power_levels.kick).is_none() {
|
||||
} else if sender_power
|
||||
.as_ref()
|
||||
.is_none_or(|&p| p < &power_levels.kick)
|
||||
{
|
||||
// sender lacks kick power level
|
||||
false
|
||||
} else if let Some(sp) = sender_power {
|
||||
@@ -1128,7 +1135,9 @@ where
|
||||
false
|
||||
} else {
|
||||
let allow = sender_creator
|
||||
|| (sender_power.filter(|&p| p >= &power_levels.ban).is_some()
|
||||
|| (sender_power
|
||||
.as_ref()
|
||||
.is_some_and(|&p| p >= &power_levels.ban)
|
||||
&& target_power < sender_power);
|
||||
if !allow {
|
||||
warn!(
|
||||
|
||||
@@ -163,7 +163,7 @@ where
|
||||
|
||||
// Sequentially auth check each control event.
|
||||
let resolved_control = iterative_auth_check(
|
||||
&room_version,
|
||||
room_version,
|
||||
sorted_control_levels.iter().stream().map(AsRef::as_ref),
|
||||
initial_state,
|
||||
&event_fetch,
|
||||
@@ -203,7 +203,7 @@ where
|
||||
trace!(list = ?sorted_left_events, "events left, sorted, running iterative auth check");
|
||||
|
||||
let mut resolved_state = iterative_auth_check(
|
||||
&room_version,
|
||||
room_version,
|
||||
sorted_left_events.iter().stream().map(AsRef::as_ref),
|
||||
resolved_control, // The control events are added to the final resolved state
|
||||
&event_fetch,
|
||||
@@ -668,7 +668,7 @@ where
|
||||
"Failed to parse create event ID from room ID/hash: {e}"
|
||||
))
|
||||
})?;
|
||||
let create_event = fetch_event(create_event_id.into())
|
||||
let create_event = fetch_event(create_event_id)
|
||||
.await
|
||||
.ok_or_else(|| Error::NotFound("Failed to find create event".into()))?;
|
||||
auth_state.insert(create_event.event_type().with_state_key(""), create_event);
|
||||
|
||||
@@ -10,7 +10,12 @@ use ruma::{
|
||||
use serde::Deserialize;
|
||||
use serde_json::{Error, from_str as from_json_str};
|
||||
|
||||
use super::{Result, serde_backports::*};
|
||||
use super::{
|
||||
Result,
|
||||
serde_backports::{
|
||||
vec_deserialize_int_powerlevel_values, vec_deserialize_v1_powerlevel_values,
|
||||
},
|
||||
};
|
||||
use crate::error;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@@ -47,11 +52,11 @@ struct IntRoomPowerLevelsEventContent {
|
||||
}
|
||||
|
||||
impl IntRoomPowerLevelsEventContent {
|
||||
fn to_room_power_levels_content(
|
||||
fn into_room_power_levels_content(
|
||||
self,
|
||||
auth_rules: &AuthorizationRules,
|
||||
) -> RoomPowerLevelsEventContent {
|
||||
let IntRoomPowerLevelsEventContent {
|
||||
let Self {
|
||||
ban,
|
||||
events,
|
||||
events_default,
|
||||
@@ -116,7 +121,7 @@ fn deserialize_integer_power_levels(
|
||||
auth_rules: &AuthorizationRules,
|
||||
) -> Option<RoomPowerLevelsEventContent> {
|
||||
match from_json_str::<IntRoomPowerLevelsEventContent>(content) {
|
||||
| Ok(content) => Some(content.to_room_power_levels_content(auth_rules)),
|
||||
| Ok(content) => Some(content.into_room_power_levels_content(auth_rules)),
|
||||
| Err(_) => {
|
||||
error!("m.room.power_levels event is not valid with integer values");
|
||||
None
|
||||
|
||||
@@ -16,7 +16,9 @@ use serde::{
|
||||
///
|
||||
/// To be used like this:
|
||||
/// `#[serde(deserialize_with = "vec_deserialize_v1_powerlevel_values")]`
|
||||
pub fn vec_deserialize_v1_powerlevel_values<'de, D, T>(de: D) -> Result<Vec<(T, Int)>, D::Error>
|
||||
pub(super) fn vec_deserialize_v1_powerlevel_values<'de, D, T>(
|
||||
de: D,
|
||||
) -> Result<Vec<(T, Int)>, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>,
|
||||
T: Deserialize<'de> + Ord,
|
||||
@@ -76,7 +78,9 @@ where
|
||||
///
|
||||
/// To be used like this:
|
||||
/// `#[serde(deserialize_with = "vec_deserialize_int_powerlevel_values")]`
|
||||
pub fn vec_deserialize_int_powerlevel_values<'de, D, T>(de: D) -> Result<Vec<(T, Int)>, D::Error>
|
||||
pub(super) fn vec_deserialize_int_powerlevel_values<'de, D, T>(
|
||||
de: D,
|
||||
) -> Result<Vec<(T, Int)>, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>,
|
||||
T: Deserialize<'de> + Ord,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
#[must_use]
|
||||
pub fn versions() -> Vec<String> {
|
||||
vec![
|
||||
"r0.0.1".to_owned(),
|
||||
@@ -23,6 +24,7 @@ pub fn versions() -> Vec<String> {
|
||||
]
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn unstable_features() -> BTreeMap<String, bool> {
|
||||
BTreeMap::from_iter([
|
||||
("org.matrix.e2e_cross_signing".to_owned(), true),
|
||||
|
||||
Reference in New Issue
Block a user