Skip to content

Update `task_list` gem to version that supports `sourcepos`

Brett Walker requested to merge 22571-inconsistent-real-time-checkbox into master

What does this MR do?

There have been several issues with incorrect checking of task lists. This is due to checkboxes in the source markdown not being converted (and shouldn't be, such as checkboxes in HTML comments, etc), but are detected as checkboxes in the task_list gem. It is difficult to catch all the corner cases with regex without doing a full CommonMark parse.

Our HTML is rendered with data-sourcepos attributes, which maps html line to the markdown source line. An enhancement to the gem allows it to detect if the data-sourcepos attribute exists, and if so uses that to target the specific line in the markdown source.

This also increases performance slightly because we don't need to regex parse the source, nor is another full markdown parse added.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #22571 (closed)

Edited by Paul Slaughter

Merge request reports