Skip to content

Internal links with checkboxes in headings: not clickable when ticked, and break when state changes #15031

@nonobio

Description

@nonobio

Operating system

Windows

Joplin version

3.6.7

Desktop version info

Joplin 3.6.7 (prod, win32)

Appareil : win32, Intel(R) Core(TM) i5-4310U CPU @ 2.00GHz
ID client : 773c93d7dee04e1289cb896f235df6a3
Version de Synchro : 3
Version du profil : 49
Trousseau supporté : Oui
ID d'instance alternatif : -
Sync target: WebDAV
Éditeur : Markdown

Révision : af0cab6

Backup: 1.5.1
Bidirectional Links: 0.2.1
Combine notes: 1.2.3
Favorites: 1.3.2
Freehand Drawing: 4.3.0
Menu items, Shortcuts, Toolbar icons: 1.1.0
MultiMarkdown Table Tools: 1.2.1
Note list and sidebar toggle buttons: 1.0.3
Note overview: 1.7.1
Note Tabs: 1.4.0
Outline: 1.5.15
Persistent Editor Layout: 2.2.0
Quick Links: 1.3.2
Rich Markdown: 0.17.1
Rich Tables: 1.7.11
Search & Replace: 2.2.0

Current behaviour

Hi,

I use Outline to create links by right-clicking on headers:

Image

Problem 1 — Link is not clickable when it contains a ticked checkbox: [x]

When a heading contains a ticked checkbox, the Outline plugin generates a link like this:

[My note#[x] title](:/131d7ddac2e94ec7a86e90631f47fbae#x-title)

In the editor, instead of the whole label being rendered as a clickable link, only the [x] part appears highlighted in blue, and the link cannot be followed with Ctrl+Click:

Image

An issue about links and checkboxes was originally discussed in the Rich Markdown plugin (CalebJohn/joplin-rich-markdown#63), but for these actual problems, I tested with Rich Markdown disabled (and all my other plugins disabled too), and the same rendering issue occurs, so this may be a Joplin core bug.

If the checkbox is unticked ([ ]), the link is fully blue and clickable — but it still breaks if the state changes later (see Problem 2).

Problem 2 — The link breaks when the checkbox state changes after link creation

Joplin generates anchor links by slugifying the heading text. [ ] and [x] are treated differently during this process:

  • ## [ ] title#title
  • ## [x] title#x-title

So when I tick a checkbox (or untick it), any previously copied link becomes silently invalid.

Expected behaviour

Links containing a ticked checkbox should work.
Additionally, ticking or unticking a checkbox in a heading should not invalidate previously created links.

My idea for a solution

A fix for broken links containing a ticked checkbox would be good, but if checkboxes (ticked or unticked) in headings were ignored when generating anchors, the link would always work regardless of checkbox state, resolving both problems.

Workaround I'm currently considering

Only use unticked checkboxes in headings, and delete them when a task is finished (instead of ticking the box). I think it would work, but it's not as natural as ticking the checkbox.

Do you have any ideas for other workarounds or a fix?

Happy to provide any additional test cases or clarifications.
Thanks :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIt's a bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions