[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Fix single-word quoted field filter

Kasper (Sep 27, 2025, 1:58 AM +0200) 04cbb244 53be924a

+13 -2
+1 -1
CHANGELOG.md
··· 1 1 # Changelog 2 2 3 3 ## Next 4 - - Add filtering for specific fields in search, like `artist:apashe` or `album:"mirai sekai"`. You can also right-click a column header to add a filter. 4 + - Add filtering for specific fields in search, like `artist:apashe` or `album:"mirai sekai"`. You can also right-click a column header to add a filter. Filtering by artist also finds featured artists, remixers etc in the song title. 5 5 - Add genre autocomplete 6 6 - Make macOS media key permission request non-intrusive 7 7 - Improve error and crashing behaviour
+12 -1
src-native/filter.rs
··· 220 220 221 221 // parse field:"literal" 222 222 if keyword.field.is_some() && keyword.literal.starts_with('\"') { 223 - keyword.literal = keyword.literal.trim_start_matches('\"').to_string(); 223 + keyword.literal = keyword.literal[1..].to_string(); 224 + // Search for the next quote in the current keyword 225 + match keyword.literal.split_once('\"') { 226 + Some((literal, rest)) => { 227 + let (literal, rest) = (literal.to_string(), rest.to_string()); 228 + keyword.literal = literal; 229 + *query = rest + " " + query; 230 + } 231 + None => {} 232 + }; 233 + // Search for the next quote in the rest of the query 224 234 let (literal, rest) = match query.split_once('\"') { 225 235 Some((literal, rest)) => (literal.to_string(), rest.to_string()), 236 + // If there is no ending quote, treat everything as quoted 226 237 None => (query.to_string(), "".to_string()), 227 238 }; 228 239 keyword.literal.push_str(&literal);