Skip to content

Modernize async processing #1439

Open
Open
@NathanBaulch

Description

@NathanBaulch

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?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions