とある個人の健康管理日誌

うつ状態である私の日々の健康状態を淡々と綴っていきます。

8月26日(木)の記録

8月26日(木)

昨日はまっていた WebSocket の件、正確には laravel-echo / laravel-echo-server の件、やっと犯人がわかった。
laravel-echo-server は、socket.io v2 で作られていて、2020年9月以降メンテナンスされていない。クライアント側は、socket.io-client というやつの最新は 4.3 なのだが、v2 にはつながらない模様(サーバーの socket.io v2 に接続できるのは、socket.io-client 2.x のみ、らしい)。
で、サーバー側に合わせてクライアント側を version down して 2.3.x にしようとしたところ、TypeScript の型定義がない。型定義は v3 で @types/ があり、v4 は別途型定義不要、ということのようだ。で、これはこれで困るので、laravel-echo-server を fork して、socket.io v4 に単純に置き換えてみたところ、少しだけ反応があった(最初のハンドシェークで CORS エラーがでた、ということでなんらか頑張っているみたい)。もう仕方ないので、socket.io v4 対応の方向で進めていこう。ここにくるまで丸2日ほど使ってしまった。