Open
Open
@NathanBaulch

Description

This project is full of Task.Run (157 calls) and Diser.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 dising 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?