fix: cancel a stalled portable update download

Abierto
#1,983 2 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
20/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp
Área
desktop

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
C#
Estrellas
2.2k
Forks
340
Merge medio
2 d 15 h
PR fusionados (30 d)
161

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de openclaw/openclaw-windows-node

Todos los issues de openclaw/openclaw-windows-node

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.