Make all io process non-blocking and cancellable
Open
Needs Design
- Dominant language
- Vala
- Stars
- 365
- Forks
- 82
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 3
Description
### Problem
There are extant reports of Files freezing/hanging under some circumstances and this is most likely due to using blocking calls like `query_exists ()` and `query_filetype ()`. e.g. #1858
Another example of this is loading a large folder (especially into IconView) - the rest of the interface freezes while the view is loaded and drawn. This may be partially alleviated by using dynamic views in Gtk4 though.
### Proposal
We should always use asynchronous/cancellable calls to stop the whole interface freezing.
### Prior Art (Optional)
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.