Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[QTI] Editing a question keeps the interaction attributes the editor doesn't set

Aperta
#6,287 0 commenti 1 reazione 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@rtibblesbot ci sta già lavorando.

Dal 5/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

bug

❌ 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

The first edit to a QTI question rewrites its interaction element with only the attributes its builder sets. Any other attribute is dropped.

  • Text entry: buildTextEntryInteractionXML writes only response-identifier and expected-length.
  • Every legacy input question converted by convert.py carries placeholder-text="Enter your answer here", which is lost.
  • Choice: the builder drops class, so class="qti-labels-upper-alpha" is lost.

Errors and logs

None.

Expected behavior

An edit keeps every attribute on the interaction element that the editor doesn't set.

User-facing consequences

Learners see a question that differs from the one uploaded, e.g. an answer field without its placeholder, or choices without their labels.

Steps to reproduce

  1. Open an exercise with a legacy input question that was converted to QTI.
  2. Click Edit and change a hint.
  3. Inspect the emitted raw_data: <qti-text-entry-interaction> has no placeholder-text.

Acceptance Criteria

  • Editing a converted text entry question keeps placeholder-text.
  • Editing a choice question keeps a class on <qti-choice-interaction>.
  • Tests cover both cases through parse, build and assemble.

AI usage

Claude Code found this while reviewing the #6225 branch and drafted this issue. Both losses were reproduced under Jest by parsing an item, rebuilding it with its descriptor and assembling it.

Lingua principale
Python
Stelle
191
Fork
308
Merge medio
2g 3h
PR unite (30g)
54

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di learningequality/studio

Tutte le issue di learningequality/studio

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.