[QTI] Editing a question keeps the interaction attributes the editor doesn't set
维护者通常 1 天内回复
@rtibblesbot 已经在做这个了。
开始于 2026年10月5日。
评估
这个 Issue 还没有评估数据。
描述
❌ 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:
buildTextEntryInteractionXMLwrites onlyresponse-identifierandexpected-length. - Every legacy input question converted by
convert.pycarriesplaceholder-text="Enter your answer here", which is lost. - Choice: the builder drops
class, soclass="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
- Open an exercise with a legacy input question that was converted to QTI.
- Click Edit and change a hint.
- Inspect the emitted
raw_data:<qti-text-entry-interaction>has noplaceholder-text.
Acceptance Criteria
- Editing a converted text entry question keeps
placeholder-text. - Editing a choice question keeps a
classon<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.
- 主要语言
- Python
- 星标
- 191
- 派生
- 308
- 平均合并
- 2 天 17 小时
- 30 天内合并 PR
- 64
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
learningequality/studio 的其他 Issue
-
DEV: frontend P3 - low
难度 2/5 1-3 小时 新手友好度 74/100
learningequality/studio#5868 ·
维护者通常 1 天内回复
-
TAG: tech update / debt
难度 2/5 1-3 小时 新手友好度 62/100
learningequality/studio#2245 ·
维护者通常 1 天内回复
-
bug DEV: frontend
难度 4/5 3-5 天 新手友好度 35/100
learningequality/studio#6308 ·
维护者通常 1 天内回复
-
bug DEV: frontend
难度 3/5 1-2 天 新手友好度 20/100
learningequality/studio#6307 ·
维护者通常 1 天内回复
-
bug DEV: backend python
难度 3/5 1-2 天 新手友好度 30/100
learningequality/studio#6305 ·
维护者通常 1 天内回复
查看 learningequality/studio 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
pyjanitor-devs/pyjanitor#1758 ·
维护者通常 1 天内回复
-
bug ready for review
难度 2/5 1-3 小时 新手友好度 86/100
odysseus-dev/odysseus#6641 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
happypawspillaro/happypaws#78 ·
维护者通常 4 天内回复
-
pydanty:is-working
难度 2/5 1-3 小时 新手友好度 82/100
pydantic/pydantic-ai#10020 ·
维护者通常 1 天内回复
-
stdlib type-bug
难度 2/5 1-3 小时 新手友好度 68/100
python/cpython#159044 · 4 条评论 ·
维护者通常 1 天内回复