Task list items containing markdown unexpected behaviour
Summary
If a task list item in an issue contains markdown, then it exhibits potentially unexpected behaviour, particularly in relation to the notifications that it has been completed.
These notifications render the markdown from the task list, but also include their own markdown (to bold the item name), so bold tasklist items do not render correctly.
Additionally, task list items containing (some?) invalid markdown cannot be be marked as complete/incomplete by clicking on them, they can only be changed by manually editing the issue.
Steps to reproduce
Create an issue with the following content:
- [ ] Normal
- [ ] **Bold**
- [ ] [foo
Save the issue, tick the three checkboxes to mark the items as complete, and reload the issue.
What is the current bug behavior?
The first two task list items are marked as complete. The notification text for these in the issue discussion shows the text Normal
in bold (as expected), but the text Bold
is surrounded by asterisks and in italics (see screenshot below)
The third task [foo
is not marked as complete.
What is the expected correct behavior?
The three task list items will be marked as complete with uniform text.
Relevant logs and/or screenshots
Output of checks
Results of GitLab environment info
System information System: Ubuntu 16.04 Current User: git Using RVM: no Ruby Version: 2.3.3p222 Gem Version: 2.6.6 Bundler Version:1.13.7 Rake Version: 10.5.0 Redis Version: 3.2.5 Git Version: 2.11.1 Sidekiq Version:4.2.7
GitLab information Version: 9.1.0 Revision: c3f0f14 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql URL: https://gitlab.dionach.net HTTP Clone URL: https://gitlab.dionach.net/some-group/some-project.git SSH Clone URL: git@gitlab.dionach.net:some-group/some-project.git Using LDAP: yes Using Omniauth: no
GitLab Shell Version: 5.0.2 Repository storage paths:
- default: /opt/gitlab-data/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git