apache / incubator-ponymail

Apache Pony Mail (Incubating) - Email for Ponies & People
http://ponymail.incubator.apache.org/
Other
80 stars 30 forks source link

Wrong link highlighting #557

Open kwin opened 11 months ago

kwin commented 11 months ago

When the mail contains a plain text like this

https://hc.apache.org/httpcomponents-client-4.5.x/current/fluent-hc/apidocs/org/apache/http/client/fluent/Executor.html#execute(org.apache.http.client.fluent.Request)

the link is only rendered for the first part up to the ( and also is pointing to a URI with the corrupt/shortened fragment part.

In general a URI does not end at the first "(" but should only end at the first character which is invalid for URIs (https://www.rfc-editor.org/rfc/rfc3986#section-2).

An incorrect link can for example be seen in https://lists.apache.org/thread/fymw1f33t7pct5qgh4qdrgc368nts9x1

Humbedooh commented 11 months ago

The link you provide (lists.apache.org) does not use this specific version of Pony Mail, but rather the newer Foal suite (found here: https://github.com/apache/incubator-ponymail-foal ), so I'd appreciate the issue being opened there. The pattern for links can be found at https://github.com/apache/incubator-ponymail-foal/blob/master/webui/js/source/body-fixups.js#L18 - and while patches are very much welcome, I will advise some slight caution, as URLs in isolation are often a very different subject matter from URLs within a text body context, especially with characters like parentheses.

For instance, you may see someone put a link inside parentheses such as:

This did not work (for more info, see https://foo.bar)

In such a case, if parentheses are assumed to be part of the URL, the link will become invalid as well.