fix(update): 30-min download timeout + tidier progress number
Follow-up to 56d4875b, same v1.7.0-alpha shipping band. Backend download timeout bumped from 300s to 1800s (update.rs) with an explicit 30s connect timeout. git.tx1138.com raw-file throughput can sit around 70–80 KB/s, which meant OTA downloads were timing out at ~55% through the 40 MB binary even though the SHA would have matched on a full pull. 30 min gives ample headroom for the worst LAN-to-VPS link we actually hit. Frontend: SystemUpdate.vue now formats downloadPercent with toFixed(2) via a new computed, so the progress card shows "45.23%" instead of "45.270894%". Cosmetic only; the underlying ref still tracks raw floats. Manifest changelog rewritten in user-facing language per the saved feedback — no file paths, function names, or "root cause" phrasing. Artifacts refreshed: binary d85a71c5…982f4 40360936 frontend 8adcdacf…e687f6 76986852 ISO at image-recipe/results/archipelago-installer-unbundled-x86_64.iso (Apr 20 09:00) carries both fixes for fresh installs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0399f45fb2
commit
508f8e1786
@ -157,7 +157,8 @@ pub async fn download_update(data_dir: &Path) -> Result<DownloadProgress> {
|
||||
.context("Failed to create staging dir")?;
|
||||
|
||||
let client = reqwest::Client::builder()
|
||||
.timeout(std::time::Duration::from_secs(300))
|
||||
.timeout(std::time::Duration::from_secs(1800))
|
||||
.connect_timeout(std::time::Duration::from_secs(30))
|
||||
.build()
|
||||
.context("Failed to create HTTP client")?;
|
||||
|
||||
|
||||
@ -110,10 +110,10 @@
|
||||
<div class="w-full h-3 bg-white/10 rounded-full overflow-hidden mb-2">
|
||||
<div
|
||||
class="h-full bg-orange-400 rounded-full transition-all duration-500"
|
||||
:style="{ width: downloadPercent + '%' }"
|
||||
:style="{ width: downloadPercentFormatted + '%' }"
|
||||
></div>
|
||||
</div>
|
||||
<p class="text-xs text-white/60">{{ t('systemUpdate.percentComplete', { percent: downloadPercent }) }}</p>
|
||||
<p class="text-xs text-white/60">{{ t('systemUpdate.percentComplete', { percent: downloadPercentFormatted }) }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Applying -->
|
||||
@ -254,6 +254,7 @@ const updateInProgress = ref(false)
|
||||
const statusMessage = ref('')
|
||||
const statusIsError = ref(false)
|
||||
const downloadPercent = ref(0)
|
||||
const downloadPercentFormatted = computed(() => downloadPercent.value.toFixed(2))
|
||||
|
||||
const lastCheckDisplay = computed(() => {
|
||||
if (!lastCheck.value) return t('common.never')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user