Custom Header Links refuses Matrix URL

The double # makes the object setting validation fail in the core (not this TC per se).

bad URI(is not URI?): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)

It’s not strictly a valid URI, so you’d need to encode the fragment.
Here; using https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org will work.

Looking at the code:

is_valid_url is defined here:

You can see they already have another function to deal with this situation and is being used in other places:

I think it’s reasonable to use relaxed_parse for the theme object URL validation.
E.g.: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)

5 Likes