diff --git a/packages/desktop/src/file_upload.rs b/packages/desktop/src/file_upload.rs index 5448586d3..94c88d6a3 100644 --- a/packages/desktop/src/file_upload.rs +++ b/packages/desktop/src/file_upload.rs @@ -79,9 +79,9 @@ impl FileDialogRequest { let filters: Vec<_> = request .accept .as_deref() - .unwrap_or_default() + .unwrap_or(".*") .split(',') - .filter_map(|s| Filters::from_str(s).ok()) + .filter_map(|s| Filters::from_str(s.trim()).ok()) .collect(); let file_extensions: Vec<_> = filters @@ -89,7 +89,13 @@ impl FileDialogRequest { .flat_map(|f| f.as_extensions().into_iter()) .collect(); - dialog = dialog.add_filter("name", file_extensions.as_slice()); + let filter_name = file_extensions + .iter() + .map(|extension| format!("*.{extension}")) + .collect::>() + .join(", "); + + dialog = dialog.add_filter(filter_name, file_extensions.as_slice()); let files: Vec<_> = if request.multiple { dialog.pick_files().into_iter().flatten().collect()