Benutzerdefinierte Header-Links lehnt Matrix-URL ab

Der doppelte # lässt die Validierung der Objektkonfiguration im Kern fehlschlagen (nicht unbedingt in diesem TC).

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

Es ist kein streng gültiger URI, daher müssten Sie das Fragment kodieren.
Hier funktioniert die Verwendung von https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org.

Wenn man sich den Code ansieht:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url ist hier definiert:

Sie sehen, dass sie bereits eine andere Funktion haben, um mit dieser Situation umzugehen, und diese wird an anderen Stellen verwendet:

Ich denke, es ist vernünftig, relaxed_parse für die URL-Validierung von Theme-Objekten zu verwenden.
Z. B.: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)

6 „Gefällt mir“