···11# Changelog
2233## Next
44-- 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.
44+- 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.
55- Add genre autocomplete
66- Make macOS media key permission request non-intrusive
77- Improve error and crashing behaviour
+12-1
src-native/filter.rs
···220220221221 // parse field:"literal"
222222 if keyword.field.is_some() && keyword.literal.starts_with('\"') {
223223- keyword.literal = keyword.literal.trim_start_matches('\"').to_string();
223223+ keyword.literal = keyword.literal[1..].to_string();
224224+ // Search for the next quote in the current keyword
225225+ match keyword.literal.split_once('\"') {
226226+ Some((literal, rest)) => {
227227+ let (literal, rest) = (literal.to_string(), rest.to_string());
228228+ keyword.literal = literal;
229229+ *query = rest + " " + query;
230230+ }
231231+ None => {}
232232+ };
233233+ // Search for the next quote in the rest of the query
224234 let (literal, rest) = match query.split_once('\"') {
225235 Some((literal, rest)) => (literal.to_string(), rest.to_string()),
236236+ // If there is no ending quote, treat everything as quoted
226237 None => (query.to_string(), "".to_string()),
227238 };
228239 keyword.literal.push_str(&literal);