やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2024-03-11T12:52:32Z
やること
Redmine
mikutter - バグ #1595 (分類待ち): mastodonのストリーミング処理で失敗しているケースがある
https://dev.mikutter.hachune.net/issues/1595
2024-03-11T12:52:32Z
あひる 家鴨
<p>raw_server_sent_events_stream.rb における `to_enum` を起点として落ちていることがちょくちょくあります。<br />最後に落ちた時にエラーを記録するのを忘れていたので、後で再現されたら載っけます。</p>
<p>内容としては httpclient の session 周りから `IO::TimeoutError` が出ていた感じです。<br />雑にrescue対象に `IO::TimeoutError` を加えたら数日落ちずにSSEの再接続も動いてるっぽいのでおそらく効いてる感。</p>
<p>いずれにせよ情報があやふやなので、その辺を追記ではっきりさせた上で対応考えます。<br />同様の問題が起きてる人がいたらエラーログとかいただけるとありがたいです。</p>
mikutter - バグ #1584 (分類待ち): リプライ時のリプライ元メッセージ表示に対する領域選択が反転表示にならない
https://dev.mikutter.hachune.net/issues/1584
2022-04-03T09:39:12Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>添付動画 <a class="attachment" href="https://dev.mikutter.hachune.net/attachments/798">mikutter-replay-gtk3.mp4</a> のとおりですが、<br />選択部分の文字色が白、背景色はそのままになっているっぽいです。</p>
mikutter - バグ #1583 (分類待ち): フォント設定を変更すると適用されなくなる
https://dev.mikutter.hachune.net/issues/1583
2022-03-21T03:58:27Z
Akira Ouchi
<p><del>(標準添付されないTwitterの話題なのでどこに書くか迷ったのですがひとまずここに書きます。)</del> コメント1のとおり、どのWorldでも発生しました。</p>
<p><del>Twitter Worldで、</del> フォント設定をしても、設定が反映されず、デフォルト設定が使われてしまっています。<br />また、フォント選択後に一旦ダイアログをとじて、再度設定画面を開くと、フォント名にスペースが含まれている場合、スペースから後ろの文字列が欠損した状態になっています。<br />(本来「01FLOPDESIGN Regular」を選択しているが、Regularが削れてしまっている)</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/796/tweet-config1.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/795/tweet-sample1.png" alt="" /></p>
<p>ただし、選択したフォントの太文字・斜体のスタイルだけは適用されるようです。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/794/tweet-config2.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/793/tweet-sample2.png" alt="" /></p>
<p>Mastodon Worldでは上記のような現象は発生せず、設定したフォントが意図通り使用されています。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/791/don-settings.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/792/don-sample.png" alt="" /></p>
<a name="環境"></a>
<h2 >環境<a href="#環境" class="wiki-anchor">¶</a></h2>
<ul>
<li>macOS Big Sur (Intel)</li>
<li>gtk3 3.24.31_0+x11 (MacPorts)</li>
<li>Ruby 3.0.3</li>
<li>ruby-gnome 3.5.1</li>
</ul>
mikutter - バグ #1573 (分類待ち): mikutter5で投稿のヘッダー(左)・ヘッダー(右)に対してクリック判定ができなくなっている
https://dev.mikutter.hachune.net/issues/1573
2022-01-01T12:28:47Z
Akira Ouchi
<p>mikutter 4.1系までcairo_miracle_painter.rbのrender_main_text(context)定義されていた<br />@hl_regionと@hr_regionがなくなっており、ヘッダーに対してクリック判定とかの設定ができなくなった気がしています。</p>
<pre>
hl_rectangle = Gdk::Rectangle.new(pos.header_text.x, pos.header_text.y,
hl_layout.size[0] / Pango::SCALE, hl_layout.size[1] / Pango::SCALE)
hr_rectangle = Gdk::Rectangle.new(pos.header_text.x + pos.header_text.w - (hr_layout.size[0] / Pango::SCALE), pos.header_text.y,
hr_layout.size[0] / Pango::SCALE, hr_layout.size[1] / Pango::SCALE)
@hl_region = Gdk::Region.new(hl_rectangle)
@hr_region = Gdk::Region.new(hr_rectangle)
</pre>
<p>display_requirements.rbで使われていた機能かと思うのでなくなっても特段問題ない気がしますが気がついたので一応報告します。<br />(display_requirements.rbのほしいやつだけを残す自前プラグインの5対応をしていて気づきましたが自分でもしばらく使ってないことに気づいてます……)</p>
mikutter - バグ #1572 (分類待ち): Macでスクリーンショットを取得すると大半が透ける
https://dev.mikutter.hachune.net/issues/1572
2022-01-01T12:20:02Z
Akira Ouchi
<p>Macでスクリーンショットを取得すると、添付画像のように背景色の大半が透過されます。<br />ややこしいですが、 <strong>画面を目視する分には正常に描画されています。</strong></p>
<p>※ <a class="issue tracker-1 status-13 priority-4 priority-default" title="バグ: Macでスクリーンショット取得時に一部のアイコンが抜け落ちる (分類待ち)" href="https://dev.mikutter.hachune.net/issues/1570">#1570</a> と同じスクリーンショット<br /><img src="https://dev.mikutter.hachune.net/attachments/download/785/mikutter5-timeline-screenshot-on-mac.png" alt="" /></p>
<p>※ <a class="issue tracker-1 status-13 priority-4 priority-default" title="バグ: Gtk::IntelligentTextviewの背景が透過になるためMacで起動した環境で描画が荒れる (分類待ち)" href="https://dev.mikutter.hachune.net/issues/1571">#1571</a> と同じスクリーンショット<br /><img src="https://dev.mikutter.hachune.net/attachments/download/784/intelligenttextview-transparent.png" alt="" /></p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul></li>
</ul>
mikutter - バグ #1571 (分類待ち): Gtk::IntelligentTextviewの背景が透過になるためMacで起動した環境で描画が荒れる
https://dev.mikutter.hachune.net/issues/1571
2022-01-01T12:15:13Z
Akira Ouchi
<p>Mac環境では、Gtk::IntelligentTextviewを使用している部位で以下のように描画が乱れます。<br />(IntelligentTextviewの部分は画面上の表示でもスクリーンショットでも同じ状態です)</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/783/intelligenttextview-transparent.png" alt="" /></p>
<p>該当するコードはこちらで、<br /><a class="external" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/mui/gtk_intelligent_textview.rb#L49">https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/mui/gtk_intelligent_textview.rb#L49</a><br />ここをwhiteに変更すると、以下の通り描画の乱れがなくなります。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/782/intelligenttextview-white.png" alt="" /></p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul></li>
</ul>
mikutter - バグ #1570 (分類待ち): Macでスクリーンショット取得時に一部のアイコンが抜け落ちる
https://dev.mikutter.hachune.net/issues/1570
2022-01-01T11:59:47Z
Akira Ouchi
<p>Macで起動した環境で、タイムラインを表示している状態では特に問題ありませんが、スクリーンショット取得時に一部アイコンが抜け落ちます。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/781/mikutter5-timeline-screenshot-on-mac.png" alt="" /></p>
<p>元旦Discord会での会話から切り分けたところ、アルファチャネルを含む画像はスクリーンショットに残り、アルファチャネルを持たない画像が抜け落ちるようでした。</p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
</ul>
</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul>
mikutter - 提案 #1566 (分類待ち): mastodonのAPIアクセスにFaradayを使う
https://dev.mikutter.hachune.net/issues/1566
2021-12-31T09:27:32Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-12 status-5 priority-4 priority-default closed" title="提案: 起動時、直近のリプライが読み込まれない (終了)" href="https://dev.mikutter.hachune.net/issues/1427">#1427</a> の派生タスク。<br /><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: Lets EncryptのCA証明書の期限切れ (終了)" href="https://dev.mikutter.hachune.net/issues/1507">#1507</a> Lets EncryptのCA証明書の期限切れ のようなこともあったため、APIアクセスライブラリを <a href="https://github.com/lostisland/faraday" class="external">Faraday</a> に統一する。</p>
mikutter for Android - バグ #1564 (分類待ち): お知らせの取得に失敗するとクラッシュする
https://dev.mikutter.hachune.net/issues/1564
2021-12-28T14:10:01Z
あひる 家鴨
<p>お知らせの取得の際にエラーレスポンスを受け取るとクラッシュします。<br />okHttp3のクライアントはエラーレスポンスの際も <code>onResponse</code> コールバックが呼ばれるようです。(<a href="https://square.github.io/okhttp/4.x/okhttp/okhttp3/-callback/on-response/" class="external">onResponse</a>) <br />そのため、エラーレスポンス時にレスポンスボディにエラー文字列が返ってくると下記処理でパースエラーとなってクラッシュします。<br /><a href="https://dev.mikutter.hachune.net/projects/mikutter-for-android/repository/git/revisions/d8b259159ad9f48a588d9b1876fc32c958147f41/entry/app/src/main/java/net/hachune/mikutter/mikutterforandroid/NotificationFragment.java#L68" class="external">NotificationFragment#L68</a><br />事前に <code>response.isSuccessful()</code> でレスポンスコードが200番台か確認する処理を入れることで対応しようと思います。</p>
mikutter - バグ #1561 (分類待ち): 関連付けの条件を空にするとIntent発動時にクラッシュする
https://dev.mikutter.hachune.net/issues/1561
2021-12-23T13:05:29Z
Shibafu Midorino
<p>空の条件を持つ関連付け設定を追加して、実際にその設定が評価されるようなIntentを発動させると下記の例外を吐いてクラッシュします。<br />実行バージョンは <a class="changeset" title="Merge remote-tracking branch 'origin/topic/1532-deglade' into develop" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/3c3657eb7991814b7c838b063e271b0072b541a1">3c3657eb7991814b7c838b063e271b0072b541a1</a> です。4.1でも発生するかもしれませんが未確認です。</p>
<pre>
/Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:105:in `start_with?': no implicit conversion of nil into String (TypeError)
from /Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:105:in `block in divide_intents'
from /Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:104:in `select'
from /Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:104:in `divide_intents'
from /Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:41:in `intent_open'
from /Users/shibafu/git/mikutter-gtk3/plugin/intent_selector/intent_selector.rb:10:in `block (2 levels) in <top (required)>'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/listener.rb:25:in `call'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:241:in `block (2 levels) in call_all_listeners'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:240:in `each'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:240:in `block in call_all_listeners'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:239:in `catch'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:239:in `call_all_listeners'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/pluggaloid-1.7.0/lib/pluggaloid/event.rb:62:in `block in call'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/delayer-1.2.1/lib/delayer/procedure.rb:26:in `run'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/delayer-1.2.1/lib/delayer/extend.rb:126:in `run_once_without_pop_reserve'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/delayer-1.2.1/lib/delayer/extend.rb:117:in `run_once'
from /Users/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/delayer-1.2.1/lib/delayer.rb:38:in `method_missing'
from /Users/shibafu/git/mikutter-gtk3/plugin/gtk3/mainloop.rb:23:in `block (2 levels) in mainloop'
from /Users/shibafu/git/mikutter-gtk3/plugin/gtk3/mainloop.rb:12:in `loop'
from /Users/shibafu/git/mikutter-gtk3/plugin/gtk3/mainloop.rb:12:in `block in mainloop'
from /Users/shibafu/git/mikutter-gtk3/plugin/gtk3/mainloop.rb:10:in `catch'
from /Users/shibafu/git/mikutter-gtk3/plugin/gtk3/mainloop.rb:10:in `mainloop'
from mikutter.rb:79:in `boot!'
from mikutter.rb:115:in `<main>'
</pre>
<p>この時設定していた内容はこんな感じです。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/777/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202021-12-23%2021.59.45.png" alt="" /></p>
<p>この時のsetting.ymlはこんな感じ。</p>
<pre><code class="yaml syntaxhl"><span class="s">UserConfig::intent_selector_rules:</span>
<span class="pi">-</span> <span class="s">:model: photo</span>
<span class="s">:intent: openimg_quicklook_photo</span>
<span class="s">:str:</span>
</code></pre>
<p>おそらく <code>:str</code> が空っぽなのがnilとしてデシリアライズされており、それによって例外が起きていると思われます。<br />保存時に何とかするのは既存の設定でクラッシュし続けますので、評価側を何とかしたほうが良さそうに思いました。</p>
mikutter - バグ #1541 (分類待ち): gtk3: TLタブを再選択したときにTL表示位置が選択中メッセージ位置に移動してしまう
https://dev.mikutter.hachune.net/issues/1541
2021-11-13T14:22:17Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>gtk3 版ではTLを表示しているタブが一度隠れた後に再選択して表示される場合の動作仕様が変わってしまっているように見えます。</p>
<ul>
<li>(1) タイムラインの一番下までスクロールする</li>
<li>(2) 一番下のメッセージをクリックして選択する</li>
<li>(3) その状態で同じタイムラインの一番上までスクロールする</li>
<li>(4) 同じペインの別のタブをクリックして選択する</li>
<li>(5) 2つ前の(3)で一番上まで戻したタブをクリックして再度選択して表示させる<br /> →なぜか(2)で選択した一番下のメッセージが出る状態までタイムライン表示が下の方に戻っている</li>
</ul>
<p>従来はタブを再選択表示したときには、タブが隠れたときの元の位置が保持されていたような。</p>
mikutter - バグ #1540 (分類待ち): gtk3: TLでメッセージ選択中にTABを押すと次のタブではなく次のメッセージに移動する
https://dev.mikutter.hachune.net/issues/1540
2021-11-10T13:03:43Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>以下のやり取りから</p>
<p><a class="external" href="https://social.mikutter.hachune.net/@tsutsuii/107247395574397992">https://social.mikutter.hachune.net/@tsutsuii/107247395574397992</a></p>
<blockquote>
<p>mikutter_gtk3 で TL 中のメッセージ選択中に TAB を押すと次のメッセージに選択が移動するけど、これ次のペインとかにタブに移動してほしいという気もするな。gtk2 だとどうだったか……</p>
</blockquote>
<p><a class="external" href="https://social.mikutter.hachune.net/@akkiesoft/107247419975830860">https://social.mikutter.hachune.net/@akkiesoft/107247419975830860</a></p>
<blockquote>
<p>TABおすと、TL→タブ次のペインのTL→タブ…→ツールバー→postboxの順にいどうしてた</p>
</blockquote>
mikutter - バグ #1529 (分類待ち): gtk3: タブを右クリックした際のメニューがマウスボタンを離すと消えてしまう
https://dev.mikutter.hachune.net/issues/1529
2021-10-31T13:21:35Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>各種 gtk3 チケットが解決してきて mikutter_gtk3 がだいたい実用上問題なく動くようになってきていますが<br />いざリリースすると「gtk2 時代と違う」と言われそうな挙動をメモるチケットその4です。</p>
<p>各ペインのタブを右クリックした場合の右クリックメニューが<br />クリックしている間しか表示されず、マウスボタンを離すとメニューが消えてしまう。<br />postboxの右クリックメニューは従来どおり右クリックを離してもメニュー表示は残る。</p>
<p>従来は直感的(?)操作どおりで、右ボタンワンクリックでもメニュー表示・選択ができていた。</p>
mikutter - バグ #1528 (分類待ち): gtk3: TL先頭を表示していない場合でもメッセージ受信でTLがスクロールする
https://dev.mikutter.hachune.net/issues/1528
2021-10-31T13:16:15Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>各種 gtk3 チケットが解決してきて mikutter_gtk3 がだいたい実用上問題なく動くようになってきていますが<br />いざリリースすると「gtk2 時代と違う」と言われそうな挙動をメモるチケットその3です。</p>
<p><a class="issue tracker-1 status-13 priority-4 priority-default" title="バグ: gtk3: TL先頭にメッセージが追加されたときのアニメーション実装 (分類待ち)" href="https://dev.mikutter.hachune.net/issues/1526">#1526</a> の「TL先頭にメッセージが追加されたときのアニメーション実装」とは逆に、<br />TLが先頭にない場合にメッセージが追加された場合、<br />gtk2 版ではTL表示は変化しない動作だったのが、<br />gtk3 版では追加されたメッセージン分だけTLが下にスクロールする動作になっている<br />ように見えます。</p>
<p>Twitter本家で不評だった「読んでるのに勝手にスクロールしないで欲しい」という苦言が出そう。</p>
mikutter - バグ #1526 (分類待ち): gtk3: TL先頭にメッセージが追加されたときのアニメーション実装
https://dev.mikutter.hachune.net/issues/1526
2021-10-31T13:09:09Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>各種 gtk3 チケットが解決してきて mikutter_gtk3 がだいたい実用上問題なく動くようになってきていますが<br />いざリリースすると「gtk2 時代と違う」と言われそうな挙動をメモるチケットその1です。</p>
<p>TL先頭で新たなメッセージを受信したとき似、従来は <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="機能: スクロールアニメーションの最適化 (終了)" href="https://dev.mikutter.hachune.net/issues/304">#304</a> の pretty scroll の仕様で<br />アニメーションでニュルニュルとタイムラインにメッセージが追加されていましたが<br />gtk3 では未実装の状態のはず?</p>
<blockquote>
<p>現在のスクロールアニメーションは、だんだん加速するが、処理が重い時の見栄えが悪いので、だんだん減速するように変更する。<br />また、アニメーションの頻度を30fpsに抑える。</p>
</blockquote>