mulukhiya-toot-proxy リリース情報ほか

2.2.0b2
ログの採取対象に関する修正。

2.2での変更点(利用者向け)という簡単な説明を書きました。

2.2.0
少し前に「関連タグ」、複数のハッシュタグをまとめて貼る機能を前倒しで実装したので、残りを実装しました。YouTube動画に対する#nowplaying対応と、Discordに実行結果の通知を飛ばすのと。

トゥートをGoogle Driveに保存する対応は見送り。
DropboxとGROWIには対応済みですが、認証まわりのドキュメントを読んで断念しました。当方、ややこしい認証を実装しようとすると頭痛がする奇病に冒されており。
そのうち対応します。

ほとんどのIssueを消化し、ある意味ネタ切れ状態です。
一般ユーザー向けのドキュメントがまるで足りてない気がするので、そっちをがんばります。あと、ハンドラを書きたい奇特な人の為のドキュメントも少し書き始めてるのだけど、こちらもまるで足りてないです。
誰か手伝ってくれないかなぁ。とかいってw

2.2.1
メンテナンスリリースです。
2.2.0へアップグレード済みであれば、適用推奨。面目ない。

話は変わりますが今回のYouTube対応はほぼ、別トピックで紹介した、拙作shooby-do-bop(YouTube動画の再生回数を喋るBOT)から移植コードしたです。
あとあと何に役に立つかわからないものですね。

2.2.2
メンテナンスリリースです。
細かなバグや微妙な振るまい等、4件修正。

3.0系のアイデアが出始めています。
この話はいずれ。

2.2.3
引き続き、運用中に発生した細かな不具合を修正しています。
以下の該当の方以外は、急いで適用する必要はありません。

  • relayctlさん宛のトゥートで、ハッシュタグを展開しないように。
  • #nowplaying のうしろに改行を入れてもよい様に。

2.2.4
2.2.3でコミットし忘れた件です。面目ない…。

tomato-tootとの互換性に関する修正です。
併用していないなら、急いで適用する必要はありません。

2.2.5

アンケートの選択肢の中にあるワードもハッシュタグ化できる様にしました。
あと、どーしょもないバグ1件修正。ご興味の向きはリンク先見て笑ってください…

2.2.6

今朝のトゥートで、こんなトゥートを入力し、

TOKYO MXのキラキラ☆プリキュアアラモード。
今日の回から、神エンディング「シュビドゥビ☆スイーツタイム」に切り替わります。観ましょう!

#nowplaying https://itunes.apple.com/jp/album//1352845788?i=1352845804

こう展開されることを期待したところ、

TOKYO MXのキラキラ☆プリキュアアラモード。
今日の回から、神エンディング「シュビドゥビ☆スイーツタイム」に切り替わります。観ましょう!

#nowplaying https://itunes.apple.com/jp/album//1352845788?i=1352845804
シュビドゥビ☆スイーツタイム
宮本佳那子
#宮本佳那子 #itunes_apple_com #iTunes #Apple #キラキラ_プリキュアアラモード #image 

こうなりました。

TOKYO MXのキラキラ☆プリキュアアラモード。
今日の回から、神エンディング「シュビドゥビ☆スイーツタイム」に切り替わります。観ましょう!

#nowplaying https://itunes.apple.com/jp/album//1352845788?i=1352845804
宮本佳那子
#宮本佳那子 #itunes_apple_com #iTunes #Apple #キラキラ_プリキュアアラモード #image 

曲名が抜けているという。

アーティスト名と曲名を挿入する際に、下書きに戻して再トゥートを行うと重複行ができてしまうことへの対策を行っているのですが。
本文中に既に含まれているかを確認する手順を微調整しました。

というのが、今回行った修正。
以降余談。

ナウプレ対応は、キュアスタ!のメンバーから提案されて実装した機能であり、思い入れが強いです。おかげさまで、曲紹介はキュアスタ!の文化として定着したと思います。
アクティブなメンバーしかこの機能を知らないと思われ(ナウプレがサーバサイドで実装されてるインスタンスは一般的ではないでしょうから)、新規さんがあまり使ってくれないことは今後の課題かもしれないですね。

ところで私自身には、曲紹介を文化として定着させることとは別に、もうひとつ別の目的がありました。
アーティスト名をハッシュタグ化し、連合に対してプリキュア歌手たち露出を少しでも増やすこと。とりわけ、 ‘#宮本佳那子’ さんを推す為の機能だったと言っても過言ではないですw(割とマジです)

ナウプレは古い機能、ハッシュタグの可能性への模索はこの頃から始めました。
1.3にて実装、記録によれば2018年9月とのこと。

1 Like

2.2.7
夜中に起きだして、ごそごそとリリースしました。

webhookに関連した修正。
このあと、この機能を前提とした、tomato-tootの更新も行います。むしろそちらが本題。

webhookをSlack互換にしたのは、世に多くあるであろうSlack用のBOTがそのまま使える様になることを期待した為。
BOTの作りやすさはもちろんですが、それとは別に、「監視系からのアラートを受け取る専用のBOTを立てれば、役に立つんじゃね?」というのが当初のアイデアです。

wikiに貼ったサンプルそのままですが、モロヘイヤに対してこんなPOSTが出来るようになります。

curl \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"text":"つかみ男につかまれると、体力ゲージが減少していく。","attachments":[{"image_url": "https://image.example.com/image.png"}]}' \
  https://mstdn.example.com/mulukhiya/webhook/xxxx

Slack互換と言っても実際にはサブセットもいいところで、textとattachmentsにしか対応してないんですが。

2.2.8
運用中に発生した不具合を修正しました。

アーティスト名をパースする際、スタックオーバーフローを起こすケースへの対応。
対策されてないループは逮捕案件でしたね。気をつけます。

2.2.9
運用中に発生した軽微な不具合を修正しました。
Slack互換webhookとして使用していないなら、適用の必要はありません。

連休が始まったようですが、いかがお過ごしでしょうか。

2.2.9は100個めのリリースとのことです。ベータ含めたカウントで。
キリ番だからといって、特別なイベントは何もありません。

2.2.10
Slack互換webhookを各ユーザーが作成する際、アプリケーションの認証(アクセストークンの生成)を専用の画面から行う様にしました。

最近、自分の本垢をfoursquare対応にした時にwebhookを利用したのですが、もっと簡単に利用できるようにしなければ自分自身にも使い勝手が悪いと思い、実装しました。

Slack互換webhookのマニュアル的なものは、明日にでも書きます。
今夜は力尽きましたw

2.2.11
webhook登録の画面遷移を調整。
手順書を書く以前に、この画面遷移は全然ダメだなと思い直し。

2.2.12

とくに新機能はないです。
遂に画面を持ってしまった為に、即席でERBをラップしてテンプレートエンジンを作りましたが、HTMLエスケープぐらいはさせなければと急遽リリースしました。過去のバージョンにもXSS脆弱なケースはないはずですが、潜在的なリスクであったことは確かなので。
当初、画面を持つ想定はなかったのでずっとSinatraでやってきましたが、Padrinoへのアップグレードを検討中。

2.3.0rc1

2.3.0、近日リリースです。
リファクタリングをしていたら手が止まらなくなって、互換性を損なうissueにまで着手してしまい、成り行きで2.3.0というバージョンになりました。

本文中に #notify を含む、管理者かモデレータによるトゥートを一斉同報する仕様があります。
現状はDiscordのwebhookに通知する独自仕様ですが、通知のTLにも載るようにしました。(生のSQLでINSERTしたりしてて、やりたい放題です)
ゆくゆくはネイティブのプッシュ通知にも対応したいですが、もう少し調査が必要なようです。

もうひとつ大きな修正。
今まで、全てのハンドラはトゥート「前」に実行されていましたが、それに加えてトゥート「後」にも実行できるようにしました。これにより、一旦トゥートを行ってstatus_idが振り出されてからでなければ実行できない処理も書ける様になりました。
また、既に行っているSidekiq対応を併用し、遅延実行でも構わない処理は極力Sidekiqにやらせたいという意図もあります。

これは、利用頻度が高いと思われた為、3.0で予定していた機能を前倒しで実装した経緯のものです。
「イベント」という概念を新設。現在実装済みのイベントは以下の4つですが、

  • pre_toot 従来からあった、モロヘイヤ本来のイベント。
  • post_toot トゥート後イベント。(新設)
  • pre_webhook webhookによるトゥート前。
  • post_webhook webhookによるトゥート後。

3.0では、favやブースト、ファイルアップロードの前後等にもイベントを設ける予定です。
ここまでやれば、世のMastodon鯖に行われている勝手パッチの多くをカバーできるのではないでしょうか。
デフォルトハッシュタグにおけるTLのすげ替えや、アップロード画像の上限緩和等には対応できませんが、ゆくゆくはこれらにも対応できるよう、ない知恵を絞っていきます。

更に次の目標についての話は、3.0リリースのときに取っておきます。

別件です。
最近、Misskeyに興味があり。よかったらアンケートにご回答ください。

2.3.0
無事リリースしました。内容は割愛。
内部的には大きな変更だけど、鯖缶じゃないと何が変わったかよくわからないであろうリリース。
wikiにいつも書いてる「変更点」記事も、今回は不要と判断。

私事ですが、今日まで3連休でした。
休みの間にリリースできてよかったです。