なぜv12でデフォルトのformatがwebpなのかについての考察
#TODO https://caniuse.com/webp を見る限りもはや問題なさそうに感じるがapple製の端末など持っていないtig.icon
yuta0801.iconの考察
すでに知られているようにMacのSafariと、iOSの全てのブラウザでwebpは描画できない
一番使われていそうなiOSのDiscordアプリでも同様に描画出来ないのかは不明
アプリなら独自にライブラリなどを追加して対応できるような気もする
ただ仮にアプリでもwebpが描画できないと影響はとても大きそう
仮にも影響する端末がそれなりにあるとするなら、ライブラリ側でformatを決め打ちするのはどうか という話になる
画像表示をCDNで一元化してるなら、簡単にUAとかを元にして自動で表示を切り替えるとかもできそうな気がする
curlとchromeで拡張子を付けないURLを試してみたけど、jpegにしかならなかった...
開発側がどういう経緯でwebpになったのか
3年前のmaster(v12に向けての開発)に最初に入ったPRから、迷うことなくwebpがデフォルト (#1144)
そこからの変更でも特に議論されることもなくwebpがデフォルトのままでv12のリリースまで行った
ごく直近でデフォルトをpngに変えるPRが出されたが互換性がないことから受け入れられなかった (#4166)
結論?
Appleはwebp対応してくれ。Discord.jsは状況を考えてくれ。Discordは自動切り替えに対応して楽させてくれ
avatarURL()とかを使うときはavatarURL({ format: 'jpg' })と毎回書いたほうが良さそう...
やっぱり大変そうだからデフォルトの画像フォーマットをwebpから変更するパッチを書いた