Mastodonは技術面がクソ

2017年4月26日 23時02分 スルメ 未分類

どこがクソ?

OStatus周り

OStatusとかその辺のGNU Social/Mastodonが実装している仕組みは、投稿ごとに投稿したユーザーをフォローしているユーザーにこんな投稿があったよ、とHTTPリクエストで知らせる仕組みである。

一人ひとりが自分のインスタンスを持ち、一時間に10回程度しか投稿しないなら成り立つシステムだが、mstdn.jpなどの大規模インスタンスだと、軽いDoSになる。

これを解決しつつ互換性を保持する方法として、HTTPリクエストを同一インスタンスに投げる回数が多い場合、WebSocket接続を確立しそちらで通信するという手段を考えたが、よく考えるとこの方法ではスケールができない。

なにか根本的な解決法を見つける必要がありそうだ。

API

accept-languageかなにかでAPIのレスポンスの[“error”]が変わる。しかもaccept-languageに依存しないエラーの検出方法がない。[“error_type”]かなにかを用意するべきだ。

Web

Reactを使っているせいでUserScriptからなどの拡張性がないが、これはMastodonが悪いのではなくReactが悪い。

Riot.jsであれば、カスタムタグ名がHTML内に残るのでまだましなのだが・・・

あと、連合タイムラインを開いて眠ると起きた頃にはswapが使われている。

いいタイミングで投稿をメモリから消去してほしい(難しいのはわかっているが)。