There's a few problems, if we end up solving them in different ways we should create separate bugs for one or more of them.
- Changing the label of an internal link
Given a simple link like [[example]] or [[Example]] (e.g. no custom label), when changing the link target, it seems to the user that the link has not updated since the label (which is all we see in the editor, hovering the link does nothing since it isn't a clickable link in edit mode).. since the label has not changed.
Now one could argue the label shouldn't update at this point so that the sentence still reads the same (e.g. when changing intending to change the link from "He was [[foolian]]." to "He was [[Foo|foonier]].") and to be consistent for cases where the link does have a custom label (in which case it is more likely the label should stay the same?).
However given the following two cases:
- "... is an [[United States|American]] thing ..." -> " is a [[Germany|German]] thing ..."
- "... according to [[David Tennant]] ..." -> " according to [[Russell T Davies]] ..."
It is very common that the label should change to the target automatically (the second case) or at least be easy to change right after (first case). Ideally for the first case above it would automatically change to Germany and then the user can correct it to German.
- Change the label of any link
Whether internal or external, it seems quite difficult to change the label of a link. When selecting the entire link text and typing over it, it currently behaves as follows:
> Some <a>link</a>
Select link (has to be done manually (tedious and error prone)
> Some [selection]<a>link</a>[/selection]"
> Some <a>h</a>ello.
Though I'm open to other ideas, I'd recommend we start by putting an input field in the link inspector for the label so that they can be changed together. Though even without that, one should be able to replace the label without opening the inspector or running into the weird "<a>first char</a>other chars" case.