return promise from maybeUploadAndClear