やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2020-07-07T08:48:21Z
やること
Redmine
mikutter - バグ #1464 (実装待ち): ハッシュタグを押下しても何も起きない
https://dev.mikutter.hachune.net/issues/1464
2020-07-07T08:48:21Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<p>ハッシュタグを押下すると,ブラウザが開くか検索タブが開くか,又は動作を選択するダイアログが開くことが期待されます.実際は何も起きません.</p>
mikutter - 提案 #1460 (実装待ち): subscribeの呼び出し回数の最適化をする
https://dev.mikutter.hachune.net/issues/1460
2020-07-05T04:13:20Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<p>適当なプラグインで<code>subscribe(:extract_receive_message, :mastodon_appear_toots)</code>を購読した際に,イベントが集約されずに一つ一つバラバラに呼び出されています.</p>
mikutter - 提案 #1459 (実装待ち): muiを廃止しgtk3プラグインに集約する
https://dev.mikutter.hachune.net/issues/1459
2020-07-05T04:02:45Z
Yuto Tokunaga
yuntan.sub1@gmail.com
mikutter - 提案 #1458 (実装待ち): 「リプライ先」や「コメント付きシェア」のヘッダのフォントや文字色を変更する設定をつける
https://dev.mikutter.hachune.net/issues/1458
2020-07-04T12:18:27Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<p>「リプライ先」や「コメント付きシェア」のヘッダの文字色はデフォルトで黒ですが,背景色を黒系にした際に文字色を変更したくなることがあるかと思います.</p>
mikutter - バグ #1396 (実装待ち): 画像を開くとクラッシュする
https://dev.mikutter.hachune.net/issues/1396
2019-09-29T04:49:01Z
あひる 家鴨
<p>macOSのcocoa版のmikutter(e3f76a63)において、画像のリンクをクリックすると以下のトレースを吐いて落ちます。<br /><pre><code class="shell syntaxhl">Traceback <span class="o">(</span>most recent call last<span class="o">)</span>:
13: from mikutter.rb:105:in <span class="sb">`</span><main><span class="s1">'
12: from mikutter.rb:69:in `boot!'</span>
11: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:10:in <span class="sb">`</span>mainloop<span class="s1">'
10: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:10:in `catch'</span>
9: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:12:in <span class="sb">`</span>block <span class="k">in </span>mainloop<span class="s1">'
8: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:12:in `loop'</span>
7: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:16:in <span class="sb">`</span>block <span class="o">(</span>2 levels<span class="o">)</span> <span class="k">in </span>mainloop<span class="s1">'
6: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:16:in `events_pending?'</span>
5: from /Users/ahiru/ghq/mikutter/mikutter/core/mui/gtk_extension.rb:35:in <span class="sb">`</span>block <span class="k">in </span>safety_signal_connect<span class="s1">'
4: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:161:in `block in gen_wrap_expose_event'</span>
3: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:87:in <span class="sb">`</span>redraw<span class="s1">'
2: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:87:in `save'</span>
1: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:99:in <span class="sb">`</span>block <span class="k">in </span>redraw<span class="s1">'
/Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:99:in `paint'</span>: out of memory <span class="o">(</span>NoMemoryError<span class="o">)</span>
11: from mikutter.rb:105:in <span class="sb">`</span><main><span class="s1">'
10: from mikutter.rb:69:in `boot!'</span>
9: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:10:in <span class="sb">`</span>mainloop<span class="s1">'
8: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:10:in `catch'</span>
7: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:12:in <span class="sb">`</span>block <span class="k">in </span>mainloop<span class="s1">'
6: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:12:in `loop'</span>
5: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:16:in <span class="sb">`</span>block <span class="o">(</span>2 levels<span class="o">)</span> <span class="k">in </span>mainloop<span class="s1">'
4: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/gtk/mainloop.rb:16:in `events_pending?'</span>
3: from /Users/ahiru/ghq/mikutter/mikutter/core/mui/gtk_extension.rb:35:in <span class="sb">`</span>block <span class="k">in </span>safety_signal_connect<span class="s1">'
2: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:161:in `block in gen_wrap_expose_event'</span>
1: from /Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:87:in <span class="sb">`</span>redraw<span class="s1">'
/Users/ahiru/ghq/mikutter/mikutter/core/plugin/openimg/window.rb:87:in `save'</span>: out of memory <span class="o">(</span>NoMemoryError<span class="o">)</span>
</code></pre></p>
mikutter - バグ #1331 (実装待ち): Mastodonアカウントの解除後に同じアカウントで登録すると、抽出タブデータソースが出現しない
https://dev.mikutter.hachune.net/issues/1331
2019-05-12T03:03:59Z
toshi_a 初音
toshi.alternative@gmail.com
<p>この状態になった場合、mikutterを再起動すれば直る。</p>
<p>恐らく、以下のコードが原因。アカウント登録解除時にListenerをdetachしたら大丈夫そう。</p>
<p><a class="external" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/a12febcf/entry/core/plugin/mastodon_sse_streaming/mastodon_sse_streaming.rb#L177">https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/a12febcf/entry/core/plugin/mastodon_sse_streaming/mastodon_sse_streaming.rb#L177</a></p>
mikutter - バグ #1305 (実装待ち): Worldの初期化が頻繁に実行されている
https://dev.mikutter.hachune.net/issues/1305
2018-11-07T14:26:12Z
Akira Ouchi
<p>自分のプラグイン(Haiku)の問題切り分けをしていたところ、Worldの初期化が数秒おきという高頻度で実行されていることに気づきました。<br />自分のプラグインの他にTwitter WorldのInitializeにもプリントデバッグを差し込んだところ、同時に出力されているようだったので<br />使用している全部のWorldプラグインで頻繁に初期化が走っているようです。</p>
<p>(この辺) <a class="external" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/plugin/twitter/model/world.rb#L15">https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/plugin/twitter/model/world.rb#L15</a></p>
<p>出力例</p>
<pre>
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:44:27"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:44:46"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:44:48"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:44:50"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:45:02"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:45:04"
"Twitter:: called initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user from initialize!!!!!!!!!!!!!!!!!!!!!!!!"
"Haiku::get_user : 2018-11-07 22:45:08"
</pre>
<p>Haikuプラグインではキャッシュなど考慮しておらず、<br />この出力のタイミングで毎回APIを叩いていたことがわかったため、ひとまずはキャッシュ的な対応をする予定です。</p>
mikutter - 提案 #1241 (toshi_aの判断待ち): Scoreの初期値をModelが提供できるようにする
https://dev.mikutter.hachune.net/issues/1241
2018-05-12T11:03:54Z
cob odo
cobodo@gmail.com
<p>TwitterのEntityや、(Worldonにおける)mastodonのhyperlink情報は、プレーンテキスト化した後のdescriptionだけからは復元できず、テキスト全体に対する位置に強く依存しています。そのため、score_filterの初回処理で選ばれない場合、後段の再帰では処理することができず、情報が失われてしまいます。 cf. <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: 絵文字のあとにメンションがあるとリンクが正しく作らず、リンクもある場合大量のscore_by_regexpが実行され続ける (終了)" href="https://dev.mikutter.hachune.net/issues/1239">#1239</a></p>
<p>また別の問題として、Twitterが返してくるHTML実体参照を含むテキストは、TextNote化する際にunescapeする必要がありますが、</p>
<ul>
<li>Entityが含まれていない場合はTextNote1つだけを返すしかない(TextNoteとは別の(全く同機能な)クラスを使う方法もありますが……)</li>
<li>TextNoteだけが含まれるScoreはscore_by_scoreに無視される</li>
</ul>
<p>の2つの仕様により、unescapeしたTextNoteを返しても採用されない、という問題があります。 cf. <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: Twitterのメッセージに含まれる <>& がHTML実体参照のままになっている (終了)" href="https://dev.mikutter.hachune.net/issues/1233">#1233</a></p>
<p>これらを解決する案として、Modelが <code>:score</code> というメソッドを持つならば、まずそれを呼んでScoreの初期値とし、そこに含まれるTextNoteに対してscore_by_scoreを走らせればいいのではないかと考えました。</p>
<p>Pros</p>
<ul>
<li>twemojiのようなプラグインを入れるとEntityが効かなくなる問題は生じなくなる。</li>
<li>テキストのみを持つようなものに対しても細工したTextNoteを返すことができるようになる。</li>
<li>サードパーティプラグインで挙動を変更する場合、フィルタでは上書きが困難ですが、インスタンスメソッドであればモンキーパッチできるためわかりやすい。</li>
</ul>
<p>Cons</p>
<ul>
<li>フィルタの積み重ねと単純な再帰で構成されていたscoreがとっちらかった構造になる</li>
</ul>
<p>叩き台として試作したパッチを添付します。</p>
mikutter - バグ #1240 (実装待ち): 関連付けのダイアログを開くとFiberErrorで落ちる
https://dev.mikutter.hachune.net/issues/1240
2018-05-12T02:33:43Z
kagura1050 てお
<p>Worldを問わずダイアログを出した時点で死にます。<br />fibererrorなので深淵になってないといいですが…<br />ログを添付しておきます。<br />(./mikutter.rb --debug > kanren_zuke_fibererror.txt 2>&1 で記録)</p>
mikutter - バグ #1238 (実装待ち): mikutter account コマンドが使えなくなっている
https://dev.mikutter.hachune.net/issues/1238
2018-05-08T18:12:10Z
Hiyowa Kyobashi
<p>表題の通り。</p>
mikutter - バグ #1226 (実装待ち): 同一URLに対してmodel_of_uriで複数のModel Classが取得できる場合に、引用で表示する方法の選択。
https://dev.mikutter.hachune.net/issues/1226
2018-05-05T08:22:18Z
cob odo
cobodo@gmail.com
<p><a class="external" href="https://github.com/cobodo/mikutter-twitter-card">https://github.com/cobodo/mikutter-twitter-card</a></p>
<p>このプラグインを使うと、すべてのOpenGraphProtocol対応サイトを引用で表示しますが、mastodonもOGPに対応しており、worldonとtwitter-cardの両プラグインを入れた状態で、 topic/1219-quoted-tweet ブランチを使うと、tootのURLに対しては両方のModelが候補に上がります。</p>
<p>すると(ロード順の関係で)model_of_uriフィルタで先に取得できるのはtwitter-cardの方になり、tootがカスタム絵文字を含むものであっても、OGPにはカスタム絵文字の情報がないために展開できません。</p>
<p>添付のパッチを(topic/1219-quoted-tweetへ)当てるとすべてを表示するようになりますが、もちろん重いです。</p>
<p>一般論として、こういった汎用的なプラグイン(twitter-card)と、目的特化プラグイン(worldon)とでは、常に後者が選ばれてほしくて、特化した表示方法があるのであれば汎用的な表示は必要ないのではないかと思います。</p>
<p>何らかの方法で優先順位が付けられるといいかなと思いました。Scoreとも関連しそうな話ですが……</p>
mikutter - バグ #1196 (実装待ち): mikutterがなかなか終了しないことがある
https://dev.mikutter.hachune.net/issues/1196
2018-03-31T08:18:07Z
cob odo
cobodo@gmail.com
<p>--debugモードで起動している場合、以下の出力をしてからしばらく止まる。<br /><pre>
notice: {MIKUTTER_DIR}/core/serialthread.rb:47:in `force_exit!': all Serial Thread Group jobs canceled.
notice: ./mikutter.rb:82:in `boot!': boot! exited normally.
notice: ./mikutter.rb:116:in `<main>': mainloop exited normally.
</pre></p>
mikutter - バグ #1193 (実装待ち): 登録されているアカウントが一つもなくても削除ボタンが押せる
https://dev.mikutter.hachune.net/issues/1193
2018-03-21T07:29:51Z
りんすき 渋谷
<p>添付画像の通り、虚無を消してもいいか確認するダイアログがでます。<br />OK/キャンセルを押してもクラッシュしたりはしません。</p>
mikutter - バグ #1190 (レビュー待ち): タイムラインのアイコン上のボタンがSpellを利用していない
https://dev.mikutter.hachune.net/issues/1190
2018-03-12T15:22:22Z
cob odo
cobodo@gmail.com
<p>favorite spellではなくmessage.favoriteメソッドを使っているため。</p>
mikutter - バグ #693 (パッチ適用待ち): 時計がずれた状態でmikutterを初回起動すると、チュートリアルがが不正な動作となる。
https://dev.mikutter.hachune.net/issues/693
2014-06-09T15:15:49Z
Satoshi Okuno
moguno12@gmail.com
<p>(1)時計を9時間ずらす。<br />(2)mikutterを初回起動する。<br />(3)URLを表示する直前までは正常にチュートリアルが進む。<br />(4)さらに進めると認証用のテキストボックスと認証ボタンが表示されるが、肝心のURLを含むメッセージが表示されない。</p>
<p>時計ずれによるトークンの交換失敗?によりrequest_token.authorize_urlが未定義になり、それを参照している箇所で例外が発生しているためです。</p>
<p>時間がある時にパッチ書いてみようと思います。</p>