[QTI] Text entry answers are merged and reordered when the first answer has surrounding space
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, xml
- Área
- frontend
Línea de trabajo
The bug is in _extractAnswers in interactions/textEntry/parse.js, which compares the trimmed qti-value with the untrimmed first map-key. Reproduce it with a Jest test using the declaration from the issue, then check that the output is [[' Paris', false], ['Paris', true], ['Paris', false]] and that opening the item emits no update:rawData. The issue states it is not open for contribution, so confirm with maintainers before starting.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Target branch: unstable
Observed behavior
- A
base-type="string"declaration whose map-keys areParis(case-insensitive),Paris(case-sensitive),Paris(case-insensitive) opens in the Text entry editor as two answers:Paris,Paris. - The case-sensitive
Parisanswer is dropped; the next save writes the merged list. - Cause:
_extractAnswers(interactions/textEntry/parse.js) compares the trimmed<qti-value>with the untrimmed first map-key, so the editor-shaped check fails and answers are read by value instead.
Expected behavior
- Answers open as stored:
Paris,Paris(case-sensitive),Paris, in that order.
User-facing consequences
- An author who edits such a question loses an answer and its case-sensitivity without being told.
Steps to reproduce
- Call
_extractAnswerson the declaration:<qti-response-declaration identifier="RESPONSE" cardinality="single" base-type="string"> <qti-correct-response><qti-value> Paris</qti-value></qti-correct-response> <qti-mapping default-value="0"> <qti-map-entry map-key=" Paris" mapped-value="1" case-sensitive="false"/> <qti-map-entry map-key="Paris" mapped-value="1" case-sensitive="true"/> <qti-map-entry map-key="Paris" mapped-value="1" case-sensitive="false"/> </qti-mapping> </qti-response-declaration> - It returns
[['Paris', false], [' Paris', false]]as[value, caseSensitive].
Acceptance Criteria
- The declaration above reads as
[[' Paris', false], ['Paris', true], ['Paris', false]]. - Opening such an item in edit mode emits no
update:rawData.
AI usage
Claude Code found this while self-reviewing #6282 and drafted the issue; the bug was reproduced against unstable with a Jest test.
- Lenguaje dominante
- Python
- Estrellas
- 192
- Forks
- 310
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 69
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin 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 learningequality/studio
-
Set unpublishable: true on PublishedChange by construction to simplify handleMaxRevs predicateAbiertoDEV: frontend P3 - low
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
learningequality/studio#5868 ·
Los mantenedores suelen responder en 1 día
-
TAG: tech update / debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
learningequality/studio#2245 ·
Los mantenedores suelen responder en 1 día
-
bug DEV: frontend P0 - critical
Dificultad 3/5 1-2 días Aptitud para principiantes 22/100
learningequality/studio#6316 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 1-2 días Aptitud para principiantes 35/100
learningequality/studio#6315 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 1-2 días Aptitud para principiantes 25/100
learningequality/studio#6314 ·
Los mantenedores suelen responder en 1 día
Todos los issues de learningequality/studio
Issues similares
-
bot-triaged module: LrScheduler module: optimizer triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
documentation glm5 llm-model
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/vllm-ascend#19062 ·
Los mantenedores suelen responder en 1 día
-
Author Page: shuai-zhao-llmAbiertoauthor-page correction
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
acl-org/acl-anthology#10496 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Issue Type: Bug Report
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
celery/celery#10875 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
SasanLabs/VulnerableApp#836 ·
Los mantenedores suelen responder en 1 día