Currently asyncfuture doesn't support watching progress on work thread because the future watcher is always move to the main thread. If the work thread has an eventloop, this should work. I propose being able to send a context object into Observable::onProgress(QObject* context) to support multi threaded progress watching.