QTI editor drops prefixed MathML from a question prompt on save
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Start with contentcuration/contentcuration/frontend/shared/views/QTIEditor/serialization/xml.js, especially the adoptNode code at lines 99–103, and trace how the prompt reaches TipTap and is serialized back to raw_data. Reproduce the prefixed-MathML case described in the issue, then add an end-to-end test for opening and saving the item. Done means the formula remains MathML in raw_data and the saved item passes the QTI XSD check.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Observed behavior
- A QTI item whose prompt carries MathML under a prefix (
xmlns:mon the root,<m:math>in the prompt) loses the formula on its first save from the editor. Only its text survives. - Source prompt:
<qti-prompt>solve <m:math><m:mi>x</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:math>.</qti-prompt> - Saved prompt after typing at the end:
<qti-prompt><p>solve x+1. Edited</p></qti-prompt> adoptNodere-creates foreign elements withcreateElementNS(namespace, node.tagName), so the HTML handed to TipTap contains<m:math>, which TipTap does not recognise as math.
Expected behavior
- The formula in the prompt survives the edit.
User-facing consequences
- Imported items that use prefixed MathML silently lose their formulas the first time anyone edits the question text, and publish without them.
Steps to reproduce
- Seed an exercise with a QTI item whose root declares
xmlns:m="http://www.w3.org/1998/Math/MathML"and whose single-choice prompt contains<m:math>…</m:math>. - Open the exercise's Questions tab, click "Edit" on the item, type at the end of the question text, click "Close".
- Read the saved
raw_data: the<m:math>element is gone.
Seen on unstable at 90c5b61902187e722c055cca8eb1137a29a30ace, during manual QA for #6290.
Acceptance Criteria
- Editing the prompt of an item with
<m:math>(prefixed MathML) saves a prompt that still contains the formula as MathML. - The saved item passes the QTI XSD check.
- A test covers it, from opening the item to the emitted
raw_data.
AI usage
Claude Code found this during manual QA of #6290 and drafted the issue.
- Ngôn ngữ chính
- Python
- Star
- 191
- Fork
- 308
- Merge trung bình
- 2 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 65
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của learningequality/studio
-
Set unpublishable: true on PublishedChange by construction to simplify handleMaxRevs predicateĐang mởDEV: frontend P3 - low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
learningequality/studio#5868 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TAG: tech update / debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
learningequality/studio#2245 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[QTI] Text entry answers are merged and reordered when the first answer has surrounding spaceĐang mởbug DEV: frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 15/100
learningequality/studio#6309 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug DEV: frontend
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 20/100
learningequality/studio#6307 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug DEV: backend python
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 30/100
learningequality/studio#6305 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của learningequality/studio
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
UKGovernmentBEIS/inspect_ai#5802 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
no-human-ai/no_human#660 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add a Security Insights v2 fileĐang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation need help question
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 66/100
phonology024/babelscribe#26 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100