As of now, all the HTTP request code is dealt by a reqwest::blocking get command. It's not async at all, just requests the feed XML, wait for it, checks if it's an HTTP 200, then parses it. The TUI Updater (core/library/update.rs) basically creates a new thread and does that routine sequentially for all the feed sources.
Ideally, all this code should be async, request the feeds using If-Modified-Since, when there's a response, check for its HTTP status code, and deal with it, returning the correct error log, so it's easy to diagnose what's going on with that feed.
I don't know much about HTTP in general, but there's some hint of how to deal with that here.
As of now, all the HTTP request code is dealt by a
reqwest::blockingget command. It's not async at all, just requests the feed XML, wait for it, checks if it's an HTTP 200, then parses it. The TUI Updater (core/library/update.rs) basically creates a new thread and does that routine sequentially for all the feed sources.Ideally, all this code should be async, request the feeds using
If-Modified-Since, when there's a response, check for its HTTP status code, and deal with it, returning the correct error log, so it's easy to diagnose what's going on with that feed.I don't know much about HTTP in general, but there's some hint of how to deal with that here.