clarify_user duplicate question ids can overwrite answers
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Cerca la funzione clarify_user e la sua gestione degli ID delle domande, probabilmente in un file relativo alla TUI o all'interazione con l'utente. Il bug si trova in una Map che memorizza le risposte per ID. Trova il test menzionato per comprendere il comportamento previsto. La correzione implica la convalida degli ID per l'unicità e la generazione di valori predefiniti per quelli omessi. Esegui il test di regressione del questionario principale per verificare la correzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happened?
clarify_user accepts duplicate question IDs, but the native TUI stores answers in a Map<id, answer>. Two questions with the same ID therefore share one answer slot.
After answering the first duplicate ID, allAnswered() also sees the second question as answered, so the dialog can submit early and the final result contains only one answer. I reproduced this on clean main @ adcf37b in a core questionnaire regression test, without external extensions.
I have a local fix and tests ready: explicit duplicate IDs are rejected, while omitted IDs keep deterministic q1/q2/... defaults and avoid collisions with explicit IDs. I would like to submit a PR if this behavior is preferred.
Steps to reproduce
- Call
clarify_userwith two questions using the same ID:{ "questions": [ { "id": "x", "question": "First?", "options": [{ "label": "A", "value": "a" }] }, { "id": "x", "question": "Second?", "options": [{ "label": "B", "value": "b" }] } ] } - Answer the first question.
- Switch to the submit tab.
- The dialog considers both questions answered and can return only one answer for ID
x.
Expected behavior
Question IDs used as answer keys should be unique. Explicit duplicate IDs should not silently overwrite answers; omitted IDs may be generated deterministically.
Version
main @ adcf37b / @step-harness/coding-agent 0.84.4
- Lingua principale
- TypeScript
- Stelle
- 54
- Fork
- 20
- Merge medio
- 4h 1m
- PR unite (30g)
- 12
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di stepfun-ai/Step-Code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#190 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#186 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#185 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#179 · 1 commento ·
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stepfun-ai/Step-Code#153 · 2 commenti ·
Tutte le issue di stepfun-ai/Step-Code
Issue simili
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Crush Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/cln-application#167 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Quantco/pnpm-licenses#17 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100