Open
Description
This project is full of Task.Run
(157 calls) and Dispatcher.UIThread.Invoke
(125 calls) to keep the UI responsive during I/O-bound operations (primarily waiting for git
shell commands). As far as I can tell there's nothing CPU-bound in this app.
Rather than delegating I/O work to the thread pool and manually dispatching back to the UI thread, it's much better to take advantage of async/await for better responsiveness, lower overheads and more readable/linear code. More info here.
I've started working on this but it's quite a significant refactor and wanted to check that this is something of interest before putting too much time into it. Is now a good time to adopt modern async patterns?