This really needs to be enhanced from a UX perspective. There is a lot of potential here. The actual functionality is there, but the usability is not.
For example: rather than having to right click a note -> copy link -> go back to note being edited -> paste link, you should be able to (for instance) start typing [[ (two square brackets) and then start typing a note name. This brings up a dropdown auto-hint box with matching notes. You can use arrows to select one and then enter to insert the link. This is how many Wiki editing apps work. The double square notation is just the wiki style, but you could just keep it with markdown and open the dropdown when a single square bracket and a note name is typed.
Same thing for headers. If you start typing: [My Note#Hea the “#Hea” will trigger a search for headings with “My Note” and also give a dropdown to autocomplete.
Want to link to notes in another notebook? You would start typing: [OtherNoteBook/Note and an autocomplete box appears at the cursor with notes starting with “Note” inside of “OtherNoteBook”.
This is a great feature for a Google Summer of Code intern to be working on. It borrows intellisense / code-completion features from programming IDEs, and makes the whole linking between notes feature much more user friendly. It also means Joplin can be more easily used in a Wiki style which I know many people use it for (personal wikis etc.) I know I have tried to do that, but the linking functionality is just not quite there yet. This would make it perfect.