Il doppio # fa fallire la convalida dell’impostazione dell’oggetto nel core (non questo TC di per sé).
URI non valido (non è un URI?): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)
Non è un URI strettamente valido, quindi dovresti codificare il frammento.
Qui, usando https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org funzionerà.
Guardando il codice:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url è definito qui:
Puoi vedere che hanno già un’altra funzione per gestire questa situazione e viene utilizzata in altri posti:
Penso che sia ragionevole usare relaxed_parse per la convalida dell’URL dell’oggetto tema.
Ad esempio: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)