Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

QTI editor drops prefixed MathML from a question prompt on save

オープン
#6,308 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript
領域
frontend

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
192
フォーク
310
平均マージ
2日 17時間
マージ済み PR(30日)
69

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

learningequality/studio のほかの issue

learningequality/studio の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。