Implement Markdown editor, enforce formatting rules, and integrate new API fields#1171
Open
Frenzy-code wants to merge 4 commits intowger-project:masterfrom
Open
Implement Markdown editor, enforce formatting rules, and integrate new API fields#1171Frenzy-code wants to merge 4 commits intowger-project:masterfrom
Frenzy-code wants to merge 4 commits intowger-project:masterfrom
Conversation
added 4 commits
December 10, 2025 06:32
- Add dependency. - Update model and to include . - Update services (, ) to send payload to the backend. - Create reusable component in with write/preview tabs and a strict tag whitelist (p, strong, em, ul, ol, li).
- Replace the standard text area in with the new . - Update Formik logic to bind to for the API payload. - Implement fallback logic to display legacy HTML description if no Markdown source exists. - Remove form component usage in the edit view.
…UI integration - Address persistent Jest by switching from the problematic library to the CJS-compatible . - Implement component overrides in to strictly block disallowed tags (H1-H6, links) and enforce the required basic formatting whitelist (p, strong, ul, ol, li). - Fix minor test logic error in to ensure accurate assertion of the new component's behavior.
- Replaced with to resolve persistent Jest/CJS SyntaxErrors - Implemented strict element stripping in MarkdownEditor: allowed only simple tags and the rest (h1-h6, a, img) are now rendered as plain text & spans. - Resolved errors in and . - Updated to align with the backend schema. - Increased Jest global timeout to 15s in package.json to try to limit flaky timeouts when testing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed Changes
MarkdownEditorcomponent.markdown-to-jsx.MarkdownEditorto enforce the those formatting rules:b, strong, em, i, ul, ol, and p.h1-h6and link tagsa.ExerciseDetailEdit.tsxand the Add wizard (Step3Description.tsx):exerciseTranslation.descriptionSource(Markdown source) or falls back to description (legacy HTML).descriptionSourcefield in the API payload, completing the migration path established in the backend.Related Issue(s)
Please check that the PR fulfills these requirements