Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emails are wrongly validated as links #1820

Closed
jovyntls opened this issue Mar 11, 2022 · 5 comments · Fixed by #1875
Closed

Emails are wrongly validated as links #1820

jovyntls opened this issue Mar 11, 2022 · 5 comments · Fixed by #1875

Comments

@jovyntls
Copy link
Contributor

jovyntls commented Mar 11, 2022

Tell us about your environment
MacOS Monterey 12.0.1

  • MarkBind Version: v3.1.1

What did you do? Please include the actual source code causing the issue.
Place emails in any markdown file, e.g.:

email@gmail.com
student@u.nus.edu
with.dot@mail.sg

What did you expect to happen?
The emails should not be logged as warnings for invalid intralinks.

What actually happened? Please include the actual, raw output.
Screenshot 2022-03-11 at 8 25 33 PM

The email is prepended with a filepath (e.g. userGuide/mailto:), which is confusing since this prefix does not appear in the source files at all, and doing a search on userGuide/mailto:email@gmail.com will not give any results for an author trying to find where the invalid link is.

This is because convertRelativeLinks is called on all links, including emails, so a filepath is prepended onto emails.
I think a possible fix would be to check for emails (conveniently, they can be identified by a mailto: prefix) and not convert them to relative links, and possibly exclude them from validateIntralink calls.

@tlylt
Copy link
Contributor

tlylt commented Mar 11, 2022

I think excluding it altogether would be gd(don't think there's any utility in validating an email address like that)

@ryoarmanda
Copy link
Contributor

The email address, as it is a link, is contained as the href attribute of an <a> node. That prompts linkProcessor to do its job on trying to convert relative links from the attribute.

Currently we only have a select conditions that we use to "stop" the conversion, like if it's an URL, a hash, etc. Would be nice if we add a condition to filter out emails too as described.

@jonahtanjz
Copy link
Contributor

Would also be good to account for phone numbers as well.

<a href="tel:91234567">mobile no.</a>

@tlylt
Copy link
Contributor

tlylt commented Apr 4, 2022

@jovyntls May I check if #1819 addresses this issue? (also the part on phone numbers), if yes I think we can close this.

@jovyntls
Copy link
Contributor Author

jovyntls commented Apr 4, 2022

@jovyntls May I check if #1819 addresses this issue? (also the part on phone numbers), if yes I think we can close this.

Nope! Issue persists as #1819 moves the validation to the end of compiling all pages, but doesn't change the validation itself (mail: and tel: are still wrapped in <a> tags and hence validated as links).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants