Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

If POST takes longer than 8 seconds, installer immediately gives up rather than continuing to wait

Abierto
#146 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, python
Área
cli, desktop, tooling

Línea de trabajo

Examine el código frontend del instalador para el manejo del timeout de XMLHttpRequest, probablemente en un archivo JavaScript que gestiona solicitudes POST. La lógica de escaneo del backend está en Python; revise las funciones de detección de rutas de juego. El issue menciona commits para el timeout de escaneo y el botón de cancelar; revise esos cambios para comprender el estado actual. Determine cómo modificar el timeout para que no cancele la solicitud y ajuste los mensajes de error en consecuencia.

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

Descripción

bug

We had an issue where a user had an infinite loading screen on the part of the installer which autodetects game paths.

There were no relevant errors on the install log, but the browser showed a POST error, as if the python side never responded.

What actually happened was that the python side had no errors, but it took longer than 8 seconds to respond. Because the HTML side gives up after 8 seconds, the HTML side raised an error, but the Python side did not. This was because I implemented the timeout using the native XMLHttpRequest timeout functionality, which cancels the POST after a timeout (...or at least I think that's how it works).

The installer should really show an error after 8 seconds (or however many seconds), but continue to listen for the response.

The error message should also be adjusted to tell the user to wait some time in case the operation just takes a long time.

I actually had hard-coded that if the request type was showFileChooser, there was no POST timeout, but I feel hard-coding specific requests to not the right way to do this.

A related issue is why the game scanning step took so long - the user was using a SSD, and didn't have that many games installed on their computer. It could be:

  • my installer is doing something really bad and taking ages
  • your computer is slow for some reason
  • there is a game which causes the installer's scanning algorithm to give worst-case behavior

The scanning should really give up if it took more than a certain amount of time to scan, as even if scanning fails, the installer can still be used. Or perhaps have a per-directory scan timeout.

The installer also doesn't print how long/which folders were scanned,


  • Fix POST timeout behavior
  • Investigate slow game scanning
  • Set a timeout on game scanning (make sure to only enable this when scanning many paths, not when checking a user-specified path) 4efd0b9f3ef1691ff3c4ac8ec281c343587184da
  • Add button to cancel scanning (currently becomes greyed out forever if scanning never finishes) e6371a58aa81bcc1fcbe6ad2bf75cd215feaac26
Lenguaje dominante
JavaScript
Estrellas
214
Forks
12
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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 07th-mod/python-patcher

Todos los issues de 07th-mod/python-patcher

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.