Open kamecha opened 1 year ago
一つのバッファごとにwebsocketクライアントを対応づける方針でいこうかなぁ
このwebsocketクライアントの作成とバッファへの紐づけは別々にして、バッファに対応づかないクライアントも許すことにした方が後々便利かも
バッファに紐づくとそのチャンネルを見てる事になる~とか? クリップバッファとかを実装した状態で、ファイラーっぽいのにwebsocketアクションを飛ばしたいときに便利かな?
denops使ってwebsocket使ってる実装例あったので、参考になるやも bufpreview.vim
本家traQでのwebsocket周りの処理
https://github.com/traPtitech/traQ_S-UI/tree/master/src/lib/websocket
denoの標準機能で愚直でやるより、websocket用のライブラリを別で使ったほうが良さそう?
https://github.com/websockets/ws
これとか使うか、
Deno.upgradeWebSocket
的なのも使えるっぽい?
低レベルなAPIも用意したいし、簡単に設定可能な感じにしたいわね
あ、あと一気に色々実装するのは大変だし、一旦複数のソケットの確立とメッセージの自動更新ができたら、このissueは閉じとく
土台を生成するイメージ
クライアントからWebSocketで繋ぐ方法のひとつであるnew WebSocket("wss://hoge')
だと繋がらなかった....
というのも本家traQとのwebsocket通信にはクッキーが必要らしい
なんで、
が必要
ただ、WebSocket()
に自由度が無くて、クッキーを載せられ無さそうなんで、別の手法を探す必要あり
現状だと、内部プロキシたてて、new WebSocket()
の該当通信にクッキーを付与する手法を思いついた
Denoでのプロキシだともしかすると fetchに付与する公式クライアント
が使えるかも
アクティビティの垂れ流しとか未読チャンネル管理とかをいい感じにしたい