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


#1

他トピックにて、拙作ツールモロヘイヤを紹介した者です。
詳細はWikiを観て頂くとして。
今後ここに、リリース情報を周知していきます。


#2

今朝早速、2.1.11をリリースしました。
つい先日実装したデフォルトハッシュタグについて、本文中に既にある場合は末尾に加えなくてもよいのではないかという声があり、それに対応したものです。


#3

(タイトルが強制的にキャピタライズされる…)
リリースを追う方法をいくつか紹介させて頂きます。

リリースボット

@release_bot@mstdn.b-shock.org
モロヘイヤを含めた、拙作ツール群のリリースをトゥートするBOTです。
モロヘイヤ以外のリリース情報がノイズと言えなくもないですがw、Mastodonのツールはモロヘイヤ以外にも他にいくつかあるので、もしそれらにも興味を持って頂けるなら一番お勧めの方法です。

私の本垢

@pooza@mstdn.b-shock.org
上記のリリースBOTから、重要なトゥートをブーストしていきます。
私の日常の下らない話に興味を持って頂ける方にだけお勧めします。

#mulukhiya_toot_proxy #fedeloper 等のタグ

リリースBOTのトゥート、今後これらのタグを伴ったものにします。
relayctlさんに購読の依頼をすればよいのでは。

Atomフィード

GitHub公式のフィードを購読。リリースだけを知りたい方には、一番ノイズが少ないという意味でお勧めの方法かもしれません。
話は逸れますが、RSSフィード等が流行らなくなったのはなんででしょうね。代替できる技術があるわけでもなし、オワコン呼ばわりされるのはあまり納得できないというか。

ここ!

上でいくつか挙げた様に、リリースを追う方法はいくつかあります。
形式的な説明はリリースノートを読んで頂きたいし、既存の周知手段と同じ内容ではつまらないし。
そんなわけですので、ここでは設計上の裏話とかをすれば差別化できますかね?普通だったらブログに載せるようなネタかもしれない…。

以上。オチはとくになし。


#4

2.1.12リリースです。

/api/v1/statusesにPOSTすると、本文にハッシュタグが含まれていた場合にはそれらのタグの情報が返されますよね。
モロヘイヤが新しいハッシュタグを加えたときに、これをそのままユーザーに返すとWebUIでエラーになります。この件に対応しなければいけないと思いつつも、今は空の配列をユーザーに返しており。(ハッシュタグを加える処理を全て止めれば、この動作は行われない)
本当はこんなやんちゃな対応をしたくないのですが、WebUIのフロントのコードを読むことが避けられず、延び延びになっています。


#5

タイトルキャピタライズを修正しました。


#6

ありがとうございます!


#7

これ、本体を改造するタイプのデフォルトハッシュタグ機能でも最初に引っかかるところで、たびたびマージ失敗したりして再発してますw

使用したハッシュタグの履歴をブラウザのLocalStrageに残すところで、/api/v1/statusesにPOSTした際に、レスポンスで帰ってきたtag配列が本文に含まれているか突き合わせる処理をしており、そこでエラーになりますね。tagが減らされていてもOKだけど、謎のものが増えてるとエラー。

ソースコードを改変せずに対応するなら、元々追加しようとしたタグが含まれている場合はそのまま、追加した場合はtagの配列から追加したヤツだけ除去したものを返すしかないんじゃないかな。

副作用としては、追加したタグが、ユーザーがWebUIで#を入力した時に候補にでてこなくなりますが、自動で付与するタグならでてこなくてもいいんじゃないでしょうか?


#8

ご説明、何が行われているかがよくわかりました。ありがとうございます。
ユーザーが直接入力することを減らすことを目的とした機能なので、直接入力した分だけを返すという対応は逆に理にかなっています。この方向で近々に対応します。

ハッシュタグを加える機能を最初に実装したのは半年前、以降ずっと塩漬けだったissueがあります。ようやく解決できる目処がたちました。


#9

2.1.13をリリースです。
レスポンスのtags配列の件、早速修正を適用してみました。

こんなかんじ。積年の残念仕様に終止符を。


#10

ハッシュタグの正規表現をMastodonのソースから慌てて漁ったのは秘密。


#11


急遽修正。
コミットがグダグダに荒れてるけど、今はちゃんとしてる状態のはず。


#12

2.1.14
あまりにgdgdだったので仕切り直しです。お目汚し失礼致しました。
2.1.13は欠番。


#13

2.1.15
iTunes StoreのURL短縮を実装しました。
あとは、Spotifyに送るAccept-Languageが雑すぎたのと、アクセストークンを探すSQLを修正したり。

SQLの中で何故か正規表現検索を行っていたのですが、誤りではないものの、IN演算子への置き換えが可能でした。
たまにあるんですよね、意図が全く思いだせないコード。


#14

余談ですが、SpotifyクライアントrspotifyをAccept-Languageに対応させたのは私のプルリク。
おヒマでしたら私の実装箇所を探して、「この思いっきり後付けなやつはどうよ」って笑ってやってくださいw

Accept-Language対応をしてほしい意図があっただけで、まさかコードがそのまま採用されるとは思わなかったのですが。その場合はissueに修正案を書くぐらいがよいのでしょうね。今にして思えば。
まさか、これほどのものを書ける方が、内容の確認をしなかったわけはないけど。


#15

2.1.16
このバージョンから、Ruby 2.5.3→2.5.5です。


#16

2.1.17
辞書のワードをハッシュタグ化する機能は既に実装済みでしたが。
そのタグも含めた、複数のタグが一度に貼れる様になりました。

事前に以下の様な辞書を用意する必要があります。

「淑女録」のほうは、有志の方がGoogleスプレッドシートに入力したものが元になっています。
私が作ったデータは「歌手」のほう。

コンテキスト指向コミュニティとでも言いましょうか。話題に積極的に関わる機能こそが、SNSの本質では?と、ずっと考えていたのですが。
何ヶ月もよいアイデアが出ず、結局、少しでも利口なタギングを行うことが正解である様な気がして。それが、私が考えたMastodonらしさです。

ハッシュタグは表面上は検索の為のインデックスでしかないですが、DBの内部では、正規化された状態でトゥートと結合されています。
先のことはわからないけど、このまま記録を続けていけば、将来劇的にすばらしい機能を実現する前提になりうると思いました。(なにこの頭わるい言い草w)

とはいえここまでの話ぜんぶ、「キュア・カルテット」メンバーのハッシュタグ化を、5月頃の再放送に無事に間に合わせたこと以上の価値はない、後付けの話ですが。


#17

2.1.18
メンテナンスリリースです。
辞書API側で行った更新が、モロヘイヤを再起動しなければ反映しないケースがありました。