やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2024-03-13T14:16:48Z
やること
Redmine
mikutter - 機能 #1596 (新規): Ruby 3.3
https://dev.mikutter.hachune.net/issues/1596
2024-03-13T14:16:48Z
toshi_a 初音
toshi.alternative@gmail.com
<ul>
<li>Ruby 3.3をサポートする</li>
<li>mikutter 5.1では、Rubyのバージョン下限を3.2.0にする(過去1バージョンのみ対応)</li>
<li>Ruby 3.0, 3.1, 3.2で追加された要素を使ってリファクタリング</li>
</ul>
mikutter - 機能 #1568 (新規): TLのアイコンサイズを変更できるようにしたい
https://dev.mikutter.hachune.net/issues/1568
2021-12-31T14:58:57Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-2 status-6 priority-4 priority-default closed" title="機能: TLのアイコンサイズを変更できるようにしたい (却下)" href="https://dev.mikutter.hachune.net/issues/602">#602</a></p>
<p>subpartsではできるのでできないとアンバランスですね</p>
mikutter - 機能 #1394 (新規): listviewからCRUD操作をされた時、独自のルーチンやフックを実行可能な専用データソースオブジェクトを提供する
https://dev.mikutter.hachune.net/issues/1394
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<ul>
<li>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。
<ul>
<li>また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</li>
</ul>
</li>
<li>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。
<ul>
<li>この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</li>
</ul></li>
</ul>
<p>といった要件を満たすため、設定値の読み書きを行うデータソースを <code>parent_dslobj#[]</code> ではなく、別のデータソースプロキシオブジェクトを挿入可能にする。</p>
<p>少々煩雑になるが、プロキシオブジェクト側にフックは全て実装することになるため、listviewの実装を肥大化させないために<br />この実装にしたい。</p>
<p>加えて、このデータソースプロキシオブジェクトは値の追加・削除・更新を通知し、リアルタイムにlistviewを更新する機能をもたせたい。</p>
mikutter - 機能 #1393 (新規): FormDSLにコマンド選択ウィジェットを追加
https://dev.mikutter.hachune.net/issues/1393
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<p>FormDSLで、コマンドを一つ選択するウィジェットを提供する。<br />単にコマンドを列挙するのではなく、以下の機能が必要になるので、しんどそう。</p>
<ul>
<li>ツリー表示</li>
<li>インクリメンタルサーチ</li>
</ul>
<p>抽出タブのデータソース選択もツリービューで選択させるようになっているので、もしかしたら同じウィジェットとして実装できるかもしれない?</p>
mikutter - 機能 #1391 (新規): 内部のウィジェットがサブジェクトごとに分かれるDialog DSL
https://dev.mikutter.hachune.net/issues/1391
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>抽出タブ設定では、フォームを3つに分け、タブで切替可能にしている。<br />通常のDialogDSLでこれは実現できないが、良く考えたら設定だってそれの特殊系と言えなくはないので、<br />DialogDSLで、settingsブロックを設定のようにカテゴライズする機能を提供すれば良さそう。</p>
mikutter - 機能 #1390 (新規): listview: UserConfigに保存しているものを変換して一覧する機能
https://dev.mikutter.hachune.net/issues/1390
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。<br />この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</p>
mikutter - 機能 #1389 (新規): listview: 追加されることによってイベントを発生させる
https://dev.mikutter.hachune.net/issues/1389
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。<br />また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</p>
mikutter - 機能 #1388 (新規): listview: 編集を許可しないオプションを追加
https://dev.mikutter.hachune.net/issues/1388
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldでは作成はできるが編集をサポートしないので、これだけを無効にするオプションを追加する。</p>
mikutter - 機能 #1386 (新規): Shortcut Keyの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1386
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「ショートカットキー」にショートカットキー一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1385 (新規): Mastodonの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1385
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「Mastodon」にlistenするサーバのリストがあるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1384 (新規): Extractの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1384
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「抽出タブ」に抽出タブ一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1383 (新規): Worldの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1383
2019-09-21T00:13:53Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「アカウント一覧」にWorldの一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1380 (実装待ち): Gtk::CRUDに依存しているコードを減らす
https://dev.mikutter.hachune.net/issues/1380
2019-09-15T02:08:00Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-2 status-5 priority-4 priority-default closed parent" title="機能: gtk3 (終了)" href="https://dev.mikutter.hachune.net/issues/887">#887</a> Gtk3のために、Gtkに依存するなかでもかなり複雑な、Gtk::CRUDへの依存を緩和して、Gtk依存部分を減らす。</p>
<a name="読み取り専用のGtkCRUD"></a>
<h1 >読み取り専用のGtk::CRUD<a href="#読み取り専用のGtkCRUD" class="wiki-anchor">¶</a></h1>
<p>実は多くの利用箇所で、Gtk::CRUDをListViewのためだけに使っており、Create, Update, Deleteの機能を潰して使っている。<br />もはやCRUDではないので、そういうのをわかりやすいように一旦別のクラスにしてしまって、どこまで使っているのかを明確にする。</p>
<a name="Form-DSLにlistviewを追加"></a>
<h1 >Form DSLにlistviewを追加<a href="#Form-DSLにlistviewを追加" class="wiki-anchor">¶</a></h1>
<p>設定でGtk::CRUDを使っている箇所を、Gtk非依存にできる。</p>
<p>- Intent<br />- World<br />- Extract<br />- Mastodon<br />- Shortcut key</p>
<p>WorldだけDnDで入れ替えとか対応しちゃってるので、これも全体に適用できるようになるはず。</p>
<a name="Mtkをobsoleteに"></a>
<h1 >Mtkをobsoleteに<a href="#Mtkをobsoleteに" class="wiki-anchor">¶</a></h1>
<p>Mtkモジュールは、Gtk::CRUDの編集ダイアログからしか使われていない。</p>
<p>このダイアログをDialog DSLで置き換えてしまっても動くようにしたら、Mtkをまるごと消せる(一応互換性のために、消すのは4.0のタイミング)。</p>
<p>Form DSLで同等のものが再実装されているので、置き換えで障害になるとしたらレイアウトくらい?</p>
mikutter - 機能 #1340 (実装待ち): Mastodonのtootの情報をアイコンボタンに反映させる
https://dev.mikutter.hachune.net/issues/1340
2019-06-02T10:29:18Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Tootの情報がアイコンボタンにいろいろ反映させる</p>
<a name="不具合"></a>
<h1 >不具合<a href="#不具合" class="wiki-anchor">¶</a></h1>
<p>- リプライアイコンがstickyになる条件が間違っている<br /> - mentioned_by_me? が真を返すのは、そのMessageに自分がリプライを既に送っている時(返信済み)<br /> - 「自分」とは、登録されているWorldのうちのいずれか</p>
<a name="追加"></a>
<h1 >追加<a href="#追加" class="wiki-anchor">¶</a></h1>
<p>subparts_status_infoが既にあるが、これを廃止してアイコンボタンにまとめる。</p>
<a name="未収載非公開ダイレクト"></a>
<h2 >未収載、非公開、ダイレクト<a href="#未収載非公開ダイレクト" class="wiki-anchor">¶</a></h2>
<p>鍵が外れたようなアイコン等を用意して、左上に表示する。<br />マウスオーバーした時には、retweetにする。</p>
<p>左上はもともとMessageの公開範囲を表示する場所なので、未収載などを表示することには問題はない。</p>
<a name="bot"></a>
<h2 >bot<a href="#bot" class="wiki-anchor">¶</a></h2>
<p>アカウントがBOTであるなら、左下にロボットみたいなアイコンを作って表示する。<br />既にまりもは、Twitterのverifiedを表すために利用しているので、ここで違和感はないと思う。</p>
<a name="pin"></a>
<h2 >pin<a href="#pin" class="wiki-anchor">¶</a></h2>
<p>どうしようかなぁ、困ったなぁ</p>
mikutter - 機能 #1257 (実装待ち): Photo Modelの画像キャッシュルール
https://dev.mikutter.hachune.net/issues/1257
2018-05-28T14:02:42Z
toshi_a 初音
toshi.alternative@gmail.com
<p>現在の画像キャッシュは、Photo Modelの画像(blobまたはpixbuf)が <code>UserConfig[:image_file_cache_appear_limit]||32</code> 回出現したら <code>UserConfig[:image_file_cache_expire] || 32</code> 日間、ファイルに格納するようになっているが、あまりにもポリシーが保守的すぎてほとんど画像が保存されていない。</p>
<p>このルールは緩和しすぎると一度しか表示しない添付画像のようなものもキャッシュしてしまって肥大化するため、新たに最大サイズの設定を設け、その範囲でできるだけ多くの画像をキャッシュする。</p>
<a name="改善したいこと"></a>
<h1 >改善したいこと<a href="#改善したいこと" class="wiki-anchor">¶</a></h1>
<a name="キャッシュに使用するサイズをバイト単位で設定"></a>
<h2 >キャッシュに使用するサイズをバイト単位で設定<a href="#キャッシュに使用するサイズをバイト単位で設定" class="wiki-anchor">¶</a></h2>
<p>現在は条件に合う画像を無尽蔵に保存していくが、ユーザが設定したサイズ以下までしか保存しないようにする。</p>
<a name="画像ごとに異なるキャッシュ期間を設定する"></a>
<h2 >画像ごとに異なるキャッシュ期間を設定する<a href="#画像ごとに異なるキャッシュ期間を設定する" class="wiki-anchor">¶</a></h2>
<p>HTTPだと <code>Cache-Control</code> ヘッダの値を見て、max-ageなどが指定されていればその期間だけキャッシュする。</p>
<p>ただし、今のPhoto Modelはデフォルトだとレスポンスボディしか見ていないし、download_routineをオーバライドしたPhoto ModelたちがCache-Controlを見て有効期限を返すようになってくれてないといけない。</p>
<p>サーバの <code>Cache-Control</code> ヘッダを無視するのが嫌なので簡単にできるなら実装したいところだが、多分ユーザ体験にはそんなに貢献しない。</p>