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

Progress difficulty filter lists Hard before Medium

Abierto Apto para principiantes
#281 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@Pandamachi ya está trabajando en esto.

Desde el 11/10/2026.

  • #287 de @Pandamachi — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
86/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, node.js, rust
Área
frontend, testing

Línea de trabajo

Empieza con progressOptions en web/progress.js, donde values("difficulty") crea el menú, y compara su orden con LEVELS en web/problem-picker.js. El issue identifica tests/browser/progress.test.js y su prueba existente de opciones de filtro como punto de partida para la prueba; añade cobertura usando Easy, Medium y Hard. Se considera terminado cuando las opciones del selector siguen el orden de la escala: All, Easy, Medium, Hard.

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

Descripción

Observed behavior

Once the saved history holds attempts at all three levels, the Difficulty select under "Filter attempts" in the lobby's progress panel lists its options as All, Easy, Hard, Medium. Hard sits between Easy and Medium, so the menu reads in a different order from the difficulty checkboxes beside it, and a reader scanning for the next level up meets the hardest one first.

Expected behavior

The options follow the difficulty scale: All, Easy, Medium, Hard. That is the order LEVELS in web/problem-picker.js defines and the order the lobby's own difficulty checkboxes use.

Reproduction
  1. Save at least one report at each of Easy, Medium and Hard, so the progress panel has attempts at all three levels.
  2. Open the lobby and find the Difficulty select under "Filter attempts" in the progress panel.
  3. Read the options: All, Easy, Hard, Medium.

Without three saved reports, the list can be read straight from the module. From a checkout, passing buildProgressModel three records whose difficulties are Hard, Easy and Medium returns options.difficulty as ["Easy","Hard","Medium"].

CodeTrial version

A checkout of main at 8c3dda1 (2026-10-11). cargo run -- --version was not run; the list above came from loading web/progress.js of that checkout under Node 24.

Environment

OS: Windows 11 (Node 24 for the module-level reproduction)
Browser: any; the list is computed in web/progress.js before the page renders it
Language: any
Problem: any

Sanitized evidence

progressOptions in web/progress.js builds the menu with values("difficulty") and no comparator, so Array.prototype.sort compares the strings and "Hard" sorts before "Medium"; the duration menu on the next line does pass a numeric comparator. The test "filter options are deduplicated, ordered, and free of unreadable values" in tests/browser/progress.test.js uses only Easy and Medium, for which the alphabetical and the scale order agree, so it passes either way. The panel and this list arrived together in 451d870.

Public data confirmation
  • I removed credentials, session tokens, candidate recordings, and personal interview content from this public report.
Lenguaje dominante
Rust
Estrellas
144
Forks
41
Merge medio
1 d 9 h
PR fusionados (30 d)
103

Preparar el entorno

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 sysprog21/codetrial

Todos los issues de sysprog21/codetrial

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.