fix(metadata): recognize featured artist credits consistently

Handle feature and featured separators across display, Android finalization and Rust tag writing. Split conjunction credits only when separate artist IDs confirm them, and offer a picker for multi-artist navigation.
This commit is contained in:
zarzet committed 2026-10-02 18:10:00 +07:00
1 parent 9ea2647c39
commit 4eef5542be
6 files changed
+105 -10

No files matched your search

@@ -380,7 +380,7 @@ internal object NativeFinalizationPolicy {
private val primaryArtistSeparator = Regex(
"$PRIMARY_ARTIST_SPACE*[,;&]$PRIMARY_ARTIST_SPACE*" +
"|$PRIMARY_ARTIST_SPACE+x$PRIMARY_ARTIST_SPACE+" +
"|$PRIMARY_ARTIST_SPACE+(?:feat(?:uring)?|ft|with)\\.?" +
"|$PRIMARY_ARTIST_SPACE+(?:feat(?:uring|ured|ure)?|ft|with)\\.?" +
"(?:$PRIMARY_ARTIST_SPACE+|$)",
RegexOption.IGNORE_CASE,
)
@@ -18,6 +18,8 @@ class NativeFinalizationPolicyTest {
"Artist A Feat Artist B" to "Artist A",
"Artist A ft. Artist B" to "Artist A",
"Artist A featuring Artist B" to "Artist A",
"Artist A featured Artist B" to "Artist A",
"Artist A feature Artist B" to "Artist A",
"Artist A with Artist B" to "Artist A",
"Artist A x Artist B" to "Artist A",
"Artist A X Artist B" to "Artist A",