resolveLinkUrl function
ServerLink.url made absolute, or null when it cannot be — a relative
link with no baseUrl to resolve against, or text that does not parse.
The panel shows null as plain text instead of a dead link.
Implementation
String? resolveLinkUrl(String url, {String? baseUrl}) {
var uri = Uri.tryParse(url);
if (uri == null) return null;
if (uri.hasScheme) return url;
if (baseUrl == null) return null;
var base = Uri.tryParse(baseUrl);
if (base == null || !base.hasScheme) return null;
return base.resolveUri(uri).toString();
}