Although OCI upload should usually be reasonably quick, it can take some time if the app is large or if network conditions are causing problems. spinframework/spin#3139 reports a 63MB upload taking 15 minutes or longer before failing or having to be cancelled.
It would be useful to provide feedback to the user while a long upload is happening.
A challenge here is that we currently rely on the oci-distribution crate, which does not (as far as I can tell) provide a mechanism for giving progress feedback from within its push function. (The new version, oci-client, has the same limitation.) So we would need to either port the Client::push() code into Spin itself, or get upstream to accept a PR adding feedback support before we could work on this.
Although OCI upload should usually be reasonably quick, it can take some time if the app is large or if network conditions are causing problems. spinframework/spin#3139 reports a 63MB upload taking 15 minutes or longer before failing or having to be cancelled.
It would be useful to provide feedback to the user while a long upload is happening.
A challenge here is that we currently rely on the
oci-distributioncrate, which does not (as far as I can tell) provide a mechanism for giving progress feedback from within itspushfunction. (The new version,oci-client, has the same limitation.) So we would need to either port theClient::push()code into Spin itself, or get upstream to accept a PR adding feedback support before we could work on this.