Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

QTI editor drops prefixed MathML from a question prompt on save

Đang mở
#6,308 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ả

bug DEV: frontend

❌ 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:m on 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>
  • adoptNode re-creates foreign elements with createElementNS(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

  1. 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>.
  2. Open the exercise's Questions tab, click "Edit" on the item, type at the end of the question text, click "Close".
  3. 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của learningequality/studio

Tất cả issue của learningequality/studio

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.