RGJ
(Richard - Communiteq)
1
3.4にアップデートした際、https://matrix.to/#/#matrix-meta-chat:fedoraproject.orgのようなMatrixリンクが原因で、カスタムヘッダーリンクのテーマコンポーネントが更新されませんでした。エラーメッセージは「JSON Pointer '/3/url' のプロパティは有効なURLでなければなりません。」でした。
このリンクを削除すると、アップデートは正常に行われましたが、リンクを元に戻すことは不可能でした。
(回避策:https://matrix.to/#/#matrix-meta-chat:fedoraproject.orgにリダイレクトするパーマリンク /matrix を作成し、カスタムヘッダーリンクとして /matrix を追加します。)
それでも、もう少し柔軟性を持たせた方が良いかもしれません。このリンク形式は、パーマリンクとしては問題ないようです。
「いいね!」 3
二重の「#」により、コア(このTC自体ではありません)でオブジェクト設定の検証が失敗します。
無効なURI(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)
「いいね!」 6