diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fbbb25..c4bfedf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,6 @@ All notable changes to this project will be documented in this file. -## [v0.4.2](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.1..v0.4.2) - 2024-06-22 - -### 🐛 Bug Fixes - -- PR comment emoji prefix detection - ([ed0fbc3](https://codeberg.org/ThetaDev/artifactview/commit/ed0fbc38b2a1e76f070697f766812a20c84149ee)) - - ## [v0.4.1](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.0..v0.4.1) - 2024-06-22 ### 🚀 Features diff --git a/Cargo.lock b/Cargo.lock index 4fe8603..c778b5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -141,7 +141,7 @@ dependencies = [ [[package]] name = "artifactview" -version = "0.4.2" +version = "0.4.1" dependencies = [ "async_zip", "axum", @@ -187,6 +187,7 @@ dependencies = [ "tower-http", "tracing", "tracing-subscriber", + "unic-emoji-char", "url", "yarte", "yarte_helpers", @@ -3144,6 +3145,47 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-emoji-char" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b07221e68897210270a38bde4babb655869637af0f69407f96053a34f76494d" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + [[package]] name = "unicase" version = "2.7.0" diff --git a/Cargo.toml b/Cargo.toml index 8490e04..480de16 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "artifactview" -version = "0.4.2" +version = "0.4.1" edition = "2021" authors = ["ThetaDev "] license = "MIT" @@ -73,6 +73,7 @@ tokio-util = { version = "0.7.11", features = ["io"] } tower-http = { version = "0.5.2", features = ["trace", "set-header"] } tracing = "0.1.40" tracing-subscriber = "0.3.18" +unic-emoji-char = "0.9.0" url = "2.5.0" yarte = { version = "0.15.7", features = ["json"] } diff --git a/src/app.rs b/src/app.rs index b737943..b34ae4e 100644 --- a/src/app.rs +++ b/src/app.rs @@ -871,7 +871,8 @@ fn pr_comment_text(p: PrCommentTextParams) -> String { let mut title = Cow::Borrowed(title); if let Some((i, c)) = title .char_indices() - .find(|(_, c)| c.is_ascii() || c.is_alphanumeric()) + // Some emoji use variation selectors that are not included in is_emoji + .find(|(_, c)| !unic_emoji_char::is_emoji(*c) && !('\u{fe00}'..='\u{fe0f}').contains(c)) { if i > 0 && c == ' ' { title[..i + 1].clone_into(&mut title_pfx);