syusui-s / rabbit

🐰 A nostr client like TweetDeck
https://rabbit.syusui.net
GNU Affero General Public License v3.0
72 stars 14 forks source link

svg画像ではないリンクの末尾が`.svg`となっていた際に画像判定される #79

Closed ROBO358 closed 8 months ago

ROBO358 commented 8 months ago

バグの説明 svg画像ではないリンクの末尾が.svgとなっていた際に画像判定され、以下スクリーンショットのような表示になる。

再現手順 発生させる手順を説明してください:

  1. URLの末尾が.svgとなっているリンクを投稿する
  2. 投稿を見る

期待される挙動 単純なリンクになって欲しい

スクリーンショット note1w29qk4ek79jnvvutqmrtskeppuda9qm79rvezq8yyswwre8z0kxq50nnx3 image

note14snx4vdzar6lgyjmzjeuka42tye55caq6v97r68gen67xq9yyl6sc6sk32 image

デスクトップ (該当する場合は以下の情報を埋めてください):

OS: Windows11 ブラウザ: Chrome バージョン: Version 120.0.6099.199 (Official Build) (64-bit)

追加の情報 svgのみ検証しているが、他の拡張子でも同じかも

syusui-s commented 8 months ago

ご報告ありがとうございます。

Wikipediaの添付ファイルページへのリンクは末尾が拡張子になってしまっていて、URLからはどちらか分からないということなのだと思います。

対処法としてはあまり綺麗ではないのですが、 <img onerror="..." />がもしかしたら使えるかもしれないため、後日試してみます。

XHRやfetchでHTTP headersのContent-Typeを確認する方法がまず考えられますが、CORSで弾かれてしまうため、この方法は使えません。

WikipediaのURLだったらリンクにするという対応は難しくないですが、無数に存在するWebサイトに対応するのもまた難しいです・・・。

syusui-s commented 8 months ago

https://github.com/syusui-s/rabbit/commit/404f02817655dc6aff2d678925f0e984bde31c48

こちらのコミットでエラーの時にリンクを表示するようにしてみました。

ROBO358 commented 8 months ago

対応いただきありがとうございます。修正されているのを確認できました🤩 特段問題なければCloseしようかと思いますがいかがでしょうか。

syusui-s commented 8 months ago

確認ありがとうございます!こちらでクローズしますね ご報告ありがとうございました