fix: cancel a stalled portable update download

Aperta
#1,983 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
20/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
desktop

Direzione di ricerca

The issue describes the change on the fork branch fix/f118-update-download-deadline, including the DownloadUpdateAsync() call, progress window Closed event, and UpdateDownloadDeadlineTests. The fix and tests are already reported as complete, so check the branch and test results rather than starting a second implementation. Done means the download cancels on window close or deadline and a canceled download is not installed.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-release-blocker issue-rating: 🦞 diamond lobster no-stale P0

What Problem

A portable update download that receives the response headers and then stalls never finishes. Closing the progress window does not cancel it, and startup stays behind that wait.

Pull request creation is refused for this account (CreatePullRequest FORBIDDEN, REST create 404). Permissions are pull: true and push: false. The branch is on the fork.

Compare: https://github.com/openclaw/openclaw-windows-node/compare/main...SebTardif:fix/f118-update-download-deadline?expand=1

Head: a8e2518215ba93131da1cb6d70ca67e77b704240 on SebTardif:fix/f118-update-download-deadline

User Impact

Closing the download window stops the download. A download that stalls after the headers also stops at a deadline, 10 minutes unless OPENCLAW_UPDATE_DOWNLOAD_TIMEOUT sets another positive number of seconds. A canceled download does not install, and the app continues to start.

Why

DownloadUpdateAsync() was called with no cancellation token. Updatum reads the asset after the headers arrive, so the 100-second HTTP timeout does not cover a stalled body. The progress window had no close signal. The download now receives a token that cancels when that window closes and when the overall deadline ends.

Evidence

UpdateDownloadDeadlineTests passed: blank and invalid values stay at 10 minutes, and 1 and 30 become that many seconds. The tray source passes that token to DownloadUpdateAsync, cancels it from the progress window Closed event, and records a canceled download instead of installing.

./build.ps1 succeeded. Shared tests: 4810 passed, 24 skipped. Tray tests: 4796 passed.

Not verified

The progress window was not opened. A live GitHub download that stalls after the headers was not captured.

Lingua principale
C#
Stelle
2.2k
Fork
340
Merge medio
3g 3h
PR unite (30g)
168

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openclaw/openclaw-windows-node

Tutte le issue di openclaw/openclaw-windows-node

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.