O duplo # faz com que a validação da configuração do objeto falhe no núcleo (não neste TC em si).
URI inválida (não é URI?): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)
Não é estritamente uma URI válida, então você precisaria codificar o fragmento.
Aqui; usar https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org funcionará.
Olhando o código:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url é definido aqui:
Você pode ver que eles já têm outra função para lidar com essa situação e está sendo usada em outros lugares:
Eu acho razoável usar relaxed_parse para a validação de URL do objeto de tema.
Por exemplo: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)