더블 #은 코어(이 TC 자체는 아닙니다)에서 객체 설정 검증을 실패하게 만듭니다.
bad URI(is not URI?): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)
이것은 엄밀히 유효한 URI가 아니므로, 프레그먼트를 인코딩해야 합니다.
여기서 https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org를 사용하면 작동합니다.
코드를 살펴보면:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url은 여기에 정의되어 있습니다:
이미 이 상황을 처리하기 위한 다른 함수가 있으며 다른 곳에서도 사용되고 있는 것을 볼 수 있습니다:
테마 객체 URL 검증에 relaxed_parse를 사용하는 것이 합리적이라고 생각합니다.
예: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)