Beim Update auf 3.4 weigerte sich die Custom Header Links Theme-Komponente, aufgrund eines Matrix-Links wie https://matrix.to/#/#matrix-meta-chat:fedoraproject.org zu aktualisieren. Fehler: The property at JSON Pointer '/3/url' must be a valid URL.
Sobald dieser Link entfernt wurde, funktionierte das Update einwandfrei, aber das Hinzufügen des Links war unmöglich.
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.
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)