Skip to content

Conversation

@rajpatel24
Copy link
Contributor

🗒️ Checklist

  1. run linter locally
  2. update developer docs (API, README, inline, etc.), if any
  3. for user-facing doc changes create a Zulip thread at #Support Docs Updates, if any
  4. draft PR with a title <type>(<scope>)<!>: <title> DEV-1234
  5. assign yourself, tag PR: at least Front end and/or Back end or workflow
  6. fill in the template below and delete template comments
  7. review thyself: read the diff and repro the preview as written
  8. open PR & confirm that CI passes & request reviewers, if needed
  9. delete this section before merging

📣 Summary

Reject form submissions that contain invalid or invisible XML characters to prevent data corruption or errors when viewing or editing responses.

📖 Description

Some form submissions included hidden or invalid characters that are not allowed in XML. These characters caused affected submissions to fail when opened or edited in enketo, leading to possible data loss or broken records.

This update adds a server-side validation step that automatically rejects such submissions with a clear error message. Only characters permitted by the XML standard are accepted.

👀 Preview steps

  1. ℹ️ Have an account and a project that includes a text question.
  2. While submitting a response, paste or type an invalid XML character, you can use examples from this reference
  3. 🔴 [on main] Notice that the submission is accepted without error.
  4. 🟢 [on PR] Notice that the submission is rejected and an error message appears indicating invalid or unsupported characters.

@rajpatel24 rajpatel24 self-assigned this Oct 19, 2025
@rajpatel24 rajpatel24 removed the request for review from jnm October 19, 2025 12:40
@rajpatel24 rajpatel24 changed the title fix(submissions): Reject submissions with invalid xml character DEV-1129 fix(submissions): reject submissions with invalid xml character DEV-1129 Oct 19, 2025
@rajpatel24 rajpatel24 removed the request for review from noliveleger October 19, 2025 12:58
@noliveleger noliveleger self-requested a review October 23, 2025 13:57
@noliveleger noliveleger changed the base branch from release/2.025.37 to release/2.025.43 October 23, 2025 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant