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

Downloaded markdown reports use internal lowercase keys instead of display labels for programming languages

Cerrado Apto para principiantes
#246 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@SkyDrive2 ya está trabajando en esto.

Desde el 9/10/2026.

  • #1 de @SkyDrive2 — fusionado
  • #260 de @SkyDrive2 — abierto

Evaluación

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

Línea de trabajo

Mueve la función auxiliar languageLabel de web/app.js a web/lib.js y expórtala para poder reutilizarla entre módulos. A continuación, actualiza las funciones downloadSavedReport de web/app.js y buildMarkdown de web/interview.js para que envuelvan sus valores de language con languageLabel() antes de pasarlos a reportMarkdown. Verifica la corrección descargando un informe Markdown desde la interfaz web y confirmando que el encabezado de la sección del código final usa la etiqueta de idioma con el formato adecuado (p. ej., ## Final code (Python) en lugar de ## Final code (python)).

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

Descripción

Observed behavior

When downloading an interview report as a .md file, the heading for the final code section displays the raw, lowercase internal language key (e.g., ## Final code (python) or ## Final code (cpp)).

However, in the web UI (such as the Past attempts history panel), the language is correctly formatted and displays as Python or C++.

Root Cause Analysis

The inconsistency occurs because the Markdown generator receives the raw language key instead of the formatted label:

  1. In web/app.js (around line 1232) inside downloadSavedReport(), the code passes language: attempt.language to reportMarkdown().
  2. Similarly, in web/interview.js (around line 2942) inside buildMarkdown(), the code passes language: state.language.

The formatting helper function languageLabel(value) is currently defined locally in web/app.js (around line 1371), which makes it inaccessible to web/interview.js and missed during the download serialization.

Expected behavior

The downloaded markdown report should be consistent with the web UI and use the proper human-readable label (e.g., ## Final code (Python)), rather than the internal data key.

Proposal
  1. Move the languageLabel function from web/app.js to web/lib.js and export it, so it can be shared across modules.
  2. Wrap the language variable with languageLabel() inside both downloadSavedReport (web/app.js) and buildMarkdown (web/interview.js) before passing it to reportMarkdown.

I have already verified this fix locally and can submit a pull request if this direction is acceptable.

Reproduction
  1. Open the CodeTrial web UI and navigate to the lobby (Past attempts).
  2. Click the "Download report (.md)" button for any completed interview.
  3. Open the downloaded .md file in a text editor.
  4. Scroll to the bottom and observe the heading: ## Final code (python) instead of ## Final code (Python).
    (The exact same issue occurs when downloading the report immediately after a session ends).
CodeTrial version

Built from source (commit 3c8fccd)

Environment

OS: All
Browser: All
Language: Any
Interview loop: N/A
Problem: N/A
REACTO or STAR step: Post-interview (Report Download)
Reconnect: N/A

Sanitized evidence

Downloaded markdown file contains:
## Final code (python)

Expected:
## Final code (Python)

Public data confirmation
  • I removed credentials, session tokens, candidate recordings, and personal interview content from this public report.
Lenguaje dominante
Rust
Estrellas
160
Forks
64
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.