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

clarify_user duplicate question ids can overwrite answers

Aperta Adatta ai principianti
#184 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Ambito
cli, tooling

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
  1. Call clarify_user with 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" }] }
      ]
    }
    
  2. Answer the first question.
  3. Switch to the submit tab.
  4. 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

  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 stepfun-ai/Step-Code

Tutte le issue di stepfun-ai/Step-Code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.