Lors de la mise à jour vers la version 3.4, le composant de thème « Custom Header links » a refusé de se mettre à jour en raison d’un lien Matrix comme https://matrix.to/#/#matrix-meta-chat:fedoraproject.org. Erreur : The property at JSON Pointer '/3/url' must be a valid URL.
Une fois ce lien supprimé, la mise à jour s’est déroulée sans problème, mais il était impossible de le rajouter.
Le double # fait échouer la validation du paramètre d’objet dans le cœur (pas ce TC en soi).
mauvais URI (n'est pas un URI ?) : "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)
Ce n’est pas strictement un URI valide, vous devrez donc encoder le fragment.
Ici ; utiliser https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org fonctionnera.
Vous pouvez voir qu’ils ont déjà une autre fonction pour gérer cette situation et qu’elle est utilisée ailleurs :
Je pense qu’il est raisonnable d’utiliser relaxed_parse pour la validation de l’URL de l’objet de thème.
Par exemple : if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)