hx-preload (htmx 4): an expired preload blocks re-preloading until the element is clicked
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 88/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- frontend
Línea de trabajo
El issue señala src/ext/hx-preload.js en la rama four y el retorno anticipado que comprueba elt._htmx?.preload; empieza leyendo ese listener de preload y la gestión de expiración de htmx_before_request. Reproduce el problema pasando el cursor por encima, esperando más de cinco segundos y volviendo a pasar el cursor. El trabajo estará terminado cuando al pasar el cursor de nuevo se inicie un nuevo preload después de que expire el anterior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Version: htmx 4.0.0 (dist/ext/hx-preload.js; also current on the four branch, src/ext/hx-preload.js)
What happens
The preload listener returns early whenever a preload is stored on the element, without checking whether it has expired:
if (elt._htmx?.preload) return;
An expired entry is only removed in htmx_before_request, i.e. by the next real request. So once the preload window has passed (5 s by default), hovering the element never preloads again until it has been clicked once.
Repro
<button hx-get="/page" hx-target="#main" hx-preload="mouseover">Page</button>
- Hover the button: a preload request is made. ✅
- Wait more than 5 s without clicking.
- Hover again: no request. ❌ (expected: a new preload)
- Click: a normal request is made (the expired preload is discarded).
- Hover again: preload fires again.
Expected
An expired preload should be replaced on the next trigger, as expiresAt suggests (htmx_before_request already ignores an expired preload).
Suggested fix
if (elt._htmx?.preload && Date.now() < elt._htmx.preload.expiresAt) return;
(Optionally also delete elt._htmx.preload before starting the new prefetch.)
- Lenguaje dominante
- JavaScript
- Estrellas
- 49.6k
- Forks
- 1.7k
- Merge medio
- 9 d 3 h
- PR fusionados (30 d)
- 10
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bigskysoftware/htmx
-
Only the first `from:body target:` trigger fires when there are two on htmx 2Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
bigskysoftware/htmx#4155 ·
Los mantenedores suelen responder en 4 días
-
[htmx4] Swap style for boosted elements is not outerSyncPosiblemente ocupada @1cg la tomó hace 8 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
bigskysoftware/htmx#4138 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 4 días
-
[htmx4] When importing and configuring htmx with JS, you can't turn off indicator CSSPosiblemente ocupada @MichaelWest22 la tomó hace 8 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
bigskysoftware/htmx#4122 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 4 días
-
No GitHub Release for version 2.0.11Posiblemente ocupada @1cg la tomó hace 8 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
bigskysoftware/htmx#4117 · 1 asignado ·
Los mantenedores suelen responder en 4 días
-
implicitInheritance also inherits hx-get, hx-post and hx-trigger, which htmx 2 never inheritedPosiblemente ocupada @MichaelWest22 la tomó hace 8 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bigskysoftware/htmx#4104 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 4 días
Todos los issues de bigskysoftware/htmx
Issues similares
-
enhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
DepressionCenter/agentprise#50 ·
Los mantenedores suelen responder en 1 día
-
enhancement help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ccomkhj/product-demo#10 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Possible null error in core.jsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 73/100
-
`at-root-no-redundant` suggested fix breaks `@at-root { ... }` (at-root not followed by a selector)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stylelint-scss/stylelint-scss#1368 ·