diff --git a/crates/api/src/comment.rs b/crates/api/src/comment.rs index 5d798d1d..b77e4151 100644 --- a/crates/api/src/comment.rs +++ b/crates/api/src/comment.rs @@ -672,7 +672,7 @@ impl Perform for CreateCommentReport { if reason.is_empty() { return Err(APIError::err("report_reason_required").into()); } - if reason.len() > 1000 { + if reason.chars().count() > 1000 { return Err(APIError::err("report_too_long").into()); } diff --git a/crates/api/src/post.rs b/crates/api/src/post.rs index 5ab461dc..7c7afe60 100644 --- a/crates/api/src/post.rs +++ b/crates/api/src/post.rs @@ -749,7 +749,7 @@ impl Perform for CreatePostReport { if reason.is_empty() { return Err(APIError::err("report_reason_required").into()); } - if reason.len() > 1000 { + if reason.chars().count() > 1000 { return Err(APIError::err("report_too_long").into()); } diff --git a/crates/utils/src/utils.rs b/crates/utils/src/utils.rs index b2a7c97e..62974356 100644 --- a/crates/utils/src/utils.rs +++ b/crates/utils/src/utils.rs @@ -110,8 +110,8 @@ pub fn is_valid_username(name: &str) -> bool { // Can't do a regex here, reverse lookarounds not supported pub fn is_valid_preferred_username(preferred_username: &str) -> bool { !preferred_username.starts_with('@') - && preferred_username.len() >= 3 - && preferred_username.len() <= 20 + && preferred_username.chars().count() >= 3 + && preferred_username.chars().count() <= 20 } pub fn is_valid_community_name(name: &str) -> bool {