LoginSignup
8
5

More than 1 year has passed since last update.

MisskeyとTwitterに同時投稿するツールを作ったその後

Posted at

はじめに?

これはMisskeyアドベントカレンダー11日目の記事です。

ここでは私が数ヶ月前にリリースしたツールCaffeBruncherについて書きます。
CaffeBruncherが何か知りたい人はこの記事を読んでもらえるとわかると思います。

本題

数行前に書いたとおり、私は数ヶ月前にMisskeyとTwitterに同時投稿するツールであるCaffeBruncherをリリースしたわけですが、元々ノリと勢いで開発を始めて気合いでリリースできる段階まで持っていったものなので当然バグや実装しきれていない機能があるわけです。
今回はそこらへんを書いていきたいと思います。

取り敢えず、今わかっているバグ等を列挙するとこんな感じになります。

  • 画像付き投稿がまともにできない(半分くらいTwitter APIが悪い)
  • WebKitで動かない機能がある(WebKitが悪い)
  • 旧バージョンのMisskey APIに対応していない
  • かふぇぱの開発時間がない

また、実装したい機能もこんな感じであります。

  • PWA対応
  • WebIntentの実装
  • Twitter側での伏せ字投稿機能
  • UIコンポーネントライブラリをMUIからChakra UIに変更

今回はこれらについていろいろ書いていきたいと思います。

画像付き投稿

しれっと実装されている機能として、画像付き投稿(この表現は厳密ではなくて、動画もできるようになる)があります。
あるにはあるんですが、たまに失敗します。原因はわかりません。(←おい)
この機能を実装したときの私はNodejsのStreamのことを知らなかったのでStreamを使っていい感じ™に書き直したら直ると思います。
というのも今の処理だとTwitterへの投稿をしてからMisskeyへの投稿がされるようになっているんですね。
これをStreamをつかっていい感じ™に非同期な感じにすればきっとうまく行くと思ってます。(希望的観測)

WebKitで動かない機能

実はCaffeBruncherは多言語対応(日本語・英語・韓国語・日本语)しています。
ここで言語設定を日本语にすると、なんと怪レい日本语で投稿するためのトグルが現れ、怪レい日本语で投稿ができるようになります。
しかし、この怪レい日本语変換には重大な欠点があってなんとWebKitで動きません。
というのも、WebKitは正規表現の後読みに対応していないのでcjp.jsが使えないので動きません。
そしてなんとこの不具合、リリース前日に発覚しました。(直し方がわからないというか全面的にWebKitが悪いので直せていない)
きっとこの不具合は未来の私がなんとかします。。

旧バージョンのMisskey API

Misskey APIっていくつかのバージョンがあるんですね。Issueが飛んでくるまで知りませんでした。
これに関しては旧バージョンのAPIの仕様が全くわからない状態なので調べるところから始めないといけません。
まあ、きっと未来の私がなんとかするでしょう。きっと……

正直なところ、Misskeyのバージョン判別のところからどうやってやろうという感じなのでこまこまのこまりです。

PWA対応

多方面(要出典)から「PWAに対応しろ」と言われているので対応することにしました。
スマホで使うときはPWAは便利なのでね。

これを書いているときに「PWA対応ってどうやってやるんだろうか」と思ったのでざっと調べたところ、そこまで難しくなさそうだったのですぐに実装できそうです。
多忙™から抜け出したらやります。

WebIntentの実装

これはTwitterとかにあるこんな感じでURLのクエリパラメータに内容を載せて投稿フォームに渡せる機能ですね。
これの実装もそこまで難しいものではないので多忙™から抜け出したらやります。

Twitter側での伏せ字投稿

MisskeyにはCW(Content Warning)という投稿内容を隠せる機能があります。
しかし、Twitterにはそのような機能はないので現状ではMisskey側ではCWになるけどTwitter側ではダダ漏れ、という状況になっています。
これは私的にもいかがなものかと思うのでfuseclipを使って伏せ字投稿ができるようにしたいと思っています。
これも簡単そうなのでなんとかなるだろ。(KONAMI)

UIコンポーネントの変更

現在のCaffeBruncherはMUIを使用してUIを作成しています。
ただ、問題としてyarn devで動かしているときのリロードがヒジョーに遅いです。
なおかつビルドも遅いので「MUIやめたいなー」と思っていたときにChakra UIを知ったのでこちらに移行しようかなというお気持ちです。
ただ、既存のコードをほとんど書き換えないといけないので正直面倒です。
未来の私がなんとかします。

おわりに

最初の方にデカデカと書いてあるとおり、これはMisskeyアドベントカレンダーの記事なわけですが、アドカレに参加しようと思った当初はここに書いてあるバグ等のいくつかはすでに修正されて「修正しました!!」って書いているはずでした。
というのも今現在謎に忙しい状況で開発がほとんどできずほとんどのバグを認知したまま放置している状況です。
今この記事を書いているのも10日の23:40なわけですしおすし……

きっと来週くらいからは忙しさも落ち着くと思うので開発ができると良いですね。

それでは今回はここまで。
さらだばー!

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5