やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2020-09-15T12:09:22Z
やること
Redmine
mikutter - 機能 #1473 (終了): .rubocop.yml を用意する
https://dev.mikutter.hachune.net/issues/1473
2020-09-15T12:09:22Z
toshi_a 初音
toshi.alternative@gmail.com
<p>現在もmikutterのコーディングの指針は存在するが、現在のコーディング規約を知るためには直近のコミットを参照して察するしか無い。</p>
<ul>
<li>サードパーティプラグインを取り込むときに、そのプラグインとmikutterの現在のコーディング規約と一致しない</li>
<li>パッチを貰ったときに、コーディング規約に合うようにコミッタが書き換えることがある
<ul>
<li>が、明確な指針がないため、コミッタの判断だとブレることがある</li>
</ul></li>
</ul>
<p>そこで、コードを取り込むときにコードを修正する明確な指標として.rubocop.ymlを設置し、コーディング規約としてこのファイルをメンテナンスする。</p>
<a name="close後の運用"></a>
<h1 >close後の運用<a href="#close後の運用" class="wiki-anchor">¶</a></h1>
<a name="以前のコードについて"></a>
<h2 >以前のコードについて<a href="#以前のコードについて" class="wiki-anchor">¶</a></h2>
<p>以前のコードの中には多くのコーディング規約違反が発生するはずだが、修正しない。blameの結果が見辛くなってバグの原因を追跡する時のコストが上がるからだ。</p>
<p>ただし、不具合修正やリファクタリングなどで編集した位置が規約に違反している場合、規約に沿うように書き換える(現在と同じ運用)。</p>
<p>「編集した位置」の定義は、行単位にするか、あるいはreviewdogなどのツールを使うか……(ゆくゆくCIなどで評価することになることを考えたら、ツールに頼ったほうが良さそう?)。</p>
mikutter - バグ #1414 (終了): 4.0.0 alpha2 以降のAppImageが起動しない
https://dev.mikutter.hachune.net/issues/1414
2019-12-27T05:54:18Z
hinaloe k
<p><a class="external" href="https://don.gomasy.jp/@gomasy/103378090339512560">https://don.gomasy.jp/@gomasy/103378090339512560</a></p>
<p>core/pluginディレクトリが1つ上の階層に移動したが、AppImageを生成するスクリプトでそのディレクトリを追加していないためAppImageがぶっこわれてる。</p>
<p>多分このあたり <a class="external" href="https://github.com/mikutter/mikutter/blob/27493b3d82e714d8d9efb7299e4cc2e2337c3c32/deployment/appimage/gen_appimage.sh#L40">https://github.com/mikutter/mikutter/blob/27493b3d82e714d8d9efb7299e4cc2e2337c3c32/deployment/appimage/gen_appimage.sh#L40</a></p>
mikutter - 機能 #1287 (終了): Account Activity API提供開始に伴って到達不能になるコードを削除する
https://dev.mikutter.hachune.net/issues/1287
2018-08-09T06:47:16Z
toshi_a 初音
toshi.alternative@gmail.com
<p>以下のTwitterの発表にあるように、8/15いっぱいでUserStreamの提供が終わる。</p>
<p><a class="external" href="https://blog.twitter.com/developer/ja_jp/topics/tools/2017/aaa.html">https://blog.twitter.com/developer/ja_jp/topics/tools/2017/aaa.html</a></p>
<p>したがって、streamingプラグインから、UserStreamの対応を削除する。</p>
mikutter - 環境対応 #1152 (終了): 3.6.0 のリリース tarball 内の vendor/twitter-text が意図通りの構成になっていない
https://dev.mikutter.hachune.net/issues/1152
2018-01-07T13:12:57Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<a name="概要"></a>
<h1 >概要<a href="#概要" class="wiki-anchor">¶</a></h1>
<p>3.6.0 のリリース tarball<br /><a class="external" href="https://mikutter.hachune.net/bin/mikutter.3.6.0.tar.gz">https://mikutter.hachune.net/bin/mikutter.3.6.0.tar.gz</a><br />の mikutter/vendor/twitter-text 以下は twitter-text-2.1.0.gem の代替と思いますが、<br />以下の通り複数の問題があるようです。<br />(≒結果としてこれらを使用する ArchLinux AUR では動作しない?)</p>
<a name="rej-ファイル"></a>
<h2 >rej ファイル<a href="#rej-ファイル" class="wiki-anchor">¶</a></h2>
<p>以下の通りパッチ当てに失敗したと思われる *.orig と *.rej ファイルが残っています<br /><pre>
% tar -ztf mikutter.3.6.0.tar.gz mikutter/vendor
:
mikutter/vendor/twitter-text/regex.rb.orig
mikutter/vendor/twitter-text/regex.rb.rej
%
</pre></p>
<p>regex.rb.rej の中身は以下のように twitter-text-2.1.0.gem に含まれる tld_lib.yml の対応と思います。</p>
<pre><code class="diff syntaxhl"><span class="gd">--- vendor/twitter-text/regex.rb 2015-12-25 07:24:03.213843945 +0900
</span><span class="gi">+++ vendor/twitter-text/regex.rb 2015-12-25 07:22:50.788520093 +0900
</span><span class="p">@@ -28,8 +28,8 @@</span> module Twitter
TLDS = YAML.load_file(
File.join(
<span class="gd">- File.expand_path('../../..', __FILE__), # project root
- 'lib', 'assets', 'tld_lib.yml'
</span><span class="gi">+ __dir__,
+ '..', 'assets', 'tld_lib.yml'
</span> )
)
</code></pre>
<p>twitter-text-2.1.0.gem では assets/tld_lib.yml は twitter-text.rb と同じ lib 直下に置かれていて、<br />tarball 内の当該のファイルは mikutter/vendor/assets/tld_lib.yml にあるので意図どおりと思いますが、<br />rej ができているのは単にインデントがズレているだけのようです。</p>
<a name="config-ファイル"></a>
<h2 >config ファイル<a href="#config-ファイル" class="wiki-anchor">¶</a></h2>
<p>twitter-text-2.1.0 gem の lib/twitter-text/configuration.rb は以下のように<br />lib/twitter-text.rb と同じ階層にある config ディレクトリ以下の v1.json と v2.json を参照します。<br /><pre><code class="ruby syntaxhl"> <span class="no">CONFIG_V1</span> <span class="o">=</span> <span class="no">File</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span>
<span class="no">File</span><span class="p">.</span><span class="nf">expand_path</span><span class="p">(</span><span class="s1">'../../../config'</span><span class="p">,</span> <span class="kp">__FILE__</span><span class="p">),</span> <span class="c1"># project root</span>
<span class="s2">"</span><span class="si">#{</span><span class="no">PARSER_VERSION_CLASSIC</span><span class="si">}</span><span class="s2">.json"</span>
<span class="p">)</span>
<span class="no">CONFIG_V2</span> <span class="o">=</span> <span class="no">File</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span>
<span class="no">File</span><span class="p">.</span><span class="nf">expand_path</span><span class="p">(</span><span class="s1">'../../../config'</span><span class="p">,</span> <span class="kp">__FILE__</span><span class="p">),</span> <span class="c1"># project root</span>
<span class="s2">"</span><span class="si">#{</span><span class="no">PARSER_VERSION_DEFAULT</span><span class="si">}</span><span class="s2">.json"</span>
<span class="p">)</span>
</code></pre></p>
<p>しかしこれらが mikutter/vendor 以下にありません。</p>
<pre>
% tar -ztf mikutter.3.6.0.tar.gz mikutter/vendor | grep config
mikutter/vendor/twitter-text/configuration.rb
%
</pre>
<p>twitter-text-2.1.0.gem では config ディレクトリが lib と同じ階層にあるので、<br />vendor/twitter-text においては同じ階層にはできない状態です。</p>
<pre>
% cat twitter-text-2.1.0.gem | tar -xf -
% tar -ztf data.tar.gz
.gitignore
.gitmodules
.rspec
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
config/README.md
config/v1.json
config/v2.json
lib/assets/tld_lib.yml
lib/twitter-text.rb
lib/twitter-text/autolink.rb
lib/twitter-text/configuration.rb
lib/twitter-text/deprecation.rb
lib/twitter-text/extractor.rb
lib/twitter-text/hash_helper.rb
lib/twitter-text/hit_highlighter.rb
lib/twitter-text/regex.rb
lib/twitter-text/rewriter.rb
lib/twitter-text/unicode.rb
lib/twitter-text/validation.rb
lib/twitter-text/weighted_range.rb
:
</pre>
<p>config ディレクトリを mikutter/vendor 直下に作成して v1.json v2.json をコピーし、<br />regex.rb と同様に mikutter/vendor/twitter-text/configuration.rb のパス記述にパッチを当てる、<br />という操作が必要な気がします。</p>
<a name="備考"></a>
<h2 >備考<a href="#備考" class="wiki-anchor">¶</a></h2>
<p>twitter-text の upstream では config/v1.json config/v2.json と assets/tld_lib.yml が ruby 以外の実装と共通で<br />rb ディレクトリの外にあるため、 gem 作成時にコピーしているようです。<br /><a class="external" href="https://github.com/twitter/twitter-text/blob/c35766e842ca0729818d904a58f84e1ab5d72ed8/rb/Rakefile#L13">https://github.com/twitter/twitter-text/blob/c35766e842ca0729818d904a58f84e1ab5d72ed8/rb/Rakefile#L13</a><br />コピー先がその階層でよいのか、というのはよくわかりませんが。</p>
mikutter - バグ #1150 (終了): Activityタブに表示されるTwitter dmの時刻がUTCになっている
https://dev.mikutter.hachune.net/issues/1150
2018-01-06T10:16:20Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>題名のとおりですが</p>
<p>Activityタブの右下に各アクティビティ(ツイート・ふぁぼ・システムメッセージ等)の<br />通知の時刻(?)が表示されるようになっていますが、<br />Twitter の dm の時刻だけは UTC で表示されているようです。</p>
<p>下記の例だと、2番めの dm の受信時刻について<br />Activity 欄での表示は 01:14:01 になっていますが<br />実際の受信時刻は JST 10:14:01 と思われます。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/362/activity-3.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/361/activity-2.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/360/activity-1.png" alt="" /></p>
<p>大した話ではないのですが、ふと Activity 欄を見ていて<br />「こんな時間に dm 来てたの?」→ 9時間ズレてた<br />などと思ってしまったので。</p>
mikutter - バグ #1137 (終了): 3.6.0 で画像プレビュー表示に失敗することがある
https://dev.mikutter.hachune.net/issues/1137
2017-12-24T13:42:30Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>例によって NetBSD + pkgsrc という特殊環境なので環境依存の問題かもしれませんが</p>
<p>3.6.0-develop で Twitter TL の添付画像の URL をクリックしてプレビューウインドウを開いた場合、<br />表示に失敗して「error」の画像表示になることがあります。感覚的に 3回に1回くらい。</p>
<p>「error」の表示についても、<br />一瞬正しい画像が表示されてから「error」になる場合、<br />いきなり「error」になる場合、とがあります。</p>
<p>--debug オプションつきで起動して「error」が発生した時の出力は以下のような感じです。<br /><a class="attachment" href="https://dev.mikutter.hachune.net/attachments/352">mikutter-preview-log.txt</a></p>
<p>何度も失敗を繰り返していると、そのうち ruby が SEGV で死んでしまうようです。<br />画像を開かない場合は落ちることはないようです。</p>
<p>関係あるかわかりませんが ruby-gnome2 のバージョンは 3.2.1 です。</p>
mikutter - 致命的 #1068 (終了): activityプラグインがクラッシュする不具合
https://dev.mikutter.hachune.net/issues/1068
2017-09-19T15:03:53Z
toshi_a 初音
toshi.alternative@gmail.com
<p>mikutter 3.5.11 のバグレポート。<br />恐らくmikutter終了時にタイミング良くActivityが更新されると、終了時にクラッシュしている。<br />現状ではAcitivityタブが使用中に消滅することはないが、ここでも Gtk::Widget#destroyed? の戻り値を確認すべき</p>
mikutter for Android - 機能 #996 (終了): ACTION_SENDで、質問と回答のテキストを投げる
https://dev.mikutter.hachune.net/issues/996
2017-03-19T19:37:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>ツールバーのボタンとか、なんでもいいけど、さっとツイートしたりメールで送ったり出来るようにする</p>
mikutter - バグ #943 (終了): Activityの本文の無駄なdescriptionを省く
https://dev.mikutter.hachune.net/issues/943
2016-12-05T23:31:01Z
toshi_a 初音
toshi.alternative@gmail.com
<p>ふぁぼ、リツイートのActivityのdescriptionには、ツイートのパーマリンクがついているが、現在これは別に要らないので削除する。</p>
mikutter - バグ #942 (終了): ActivityタブのUserModelの説明のテキストがユーザの名前になってる
https://dev.mikutter.hachune.net/issues/942
2016-12-05T23:28:35Z
toshi_a 初音
toshi.alternative@gmail.com
<p>ユーザの名前とか表示しても意味不明なので、「<screen_name>(<name>)」みたいな書式に変える。<br />具体的には、Activityはnameキーよりtitleキーがあればそれを優先するので、 <code>User#title</code> がそれを返すようにする。<br />また、今のActivityの実装では <code>Model#[]</code> を使ってキーを参照しているので、メソッドだけが定義されていても無視されてしまう。なにかうまい方法を考える</p>
mikutter - 致命的 #805 (終了): .mikutter の無い初回起動時に設定ボタンを押すと落ちる?
https://dev.mikutter.hachune.net/issues/805
2015-12-28T20:42:37Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>NetBSD/i386 7.0 + pkgsrc-2015Q4 の「とか環境」で mikutter 3.3.1 のパッケージ作成検証中<br />という中途半端な環境ですが、以下の現象が起きたのでとりあえずチケット書きます。</p>
<a name="現象"></a>
<h2 >現象<a href="#現象" class="wiki-anchor">¶</a></h2>
<p>~/.mikutter が存在しない新規の状態で mikutter を起動したあと、<br />チュートリアルの途中でネギレンチの設定ボタンを押すと以下のようなログを吐いて<br />mikutterが落ちます。<br /><pre>
/usr/pkg/share/mikutter/core/utils.rb:108:in `where_should_insert_it': undefined method `include?' for #<Symbol:0x2cdbf0e>
from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:286:in `block (3 levels) in <top (required)>'
from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:284:in `each'
from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:284:in `block (2 levels) in <top (required)>'
from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:35:in `instance_eval'
from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:35:in `block in setting_window'
from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:30:in `each'
from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:30:in `setting_window'
from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:18:in `block (2 levels) in <top (required)>'
</pre></p>
<a name="状況"></a>
<h2 >状況<a href="#状況" class="wiki-anchor">¶</a></h2>
<code>activity.rb</code> で <code>where_should_insert_it</code> を呼んでるのは以下<br /><pre>
i = where_should_insert_it(kind, activity_kind_order, UserConfig[:activity_kind_order])
</pre><br />で、 <code>UserConfig[:activity_kind_order]</code> で何かあるのかなとログを見ると<br />リビジョン <a class="changeset" title="activity: 設定の順序にstreaming_statusを追加 refs #765" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/3c04005eba51c12f4c719a53cffd6ba135df2400">3c04005e</a> で以下の変更が入っています。
<ol>
<li><code>ratelimit</code> <code>streaming_status</code> の追加</li>
<li><code>%s[]</code> の書式変更</li>
</ol>
<p>ここで添付 <a class="attachment" href="https://dev.mikutter.hachune.net/attachments/196">mikutter-3.3.1.patch</a> のように後者の書式だけ元に戻すと落ちなくなるようなのですが、<br />そもそも環境的に何かのインストールが足りていないだけかもしれません。</p>
環境は以下:
<ul>
<li>ruby 2.0.0p648</li>
<li>mikutter-3.3.1</li>
</ul>
<ul>
<li>addressable-2.3.8</li>
<li>delayer-0.0.2</li>
<li>delayer-deferred-1.0.3</li>
<li>gettext-3.1.6</li>
<li>hmac-0.4.0</li>
<li>httpclient-2.6.0.1</li>
<li>instance_storage-1.0.0</li>
<li>json-1.8.3</li>
<li>locale-2.1.1</li>
<li>memoist-0.14.0</li>
<li>moneta-0.8.0</li>
<li>nokogiri-1.6.6.4</li>
<li>oauth-0.4.7</li>
<li>pluggaloid-1.0.2</li>
<li>text-1.3.1</li>
<li>twitter-text-1.13.0</li>
<li>typed-array-0.1.2</li>
<li>unf-0.1.4</li>
<li>unf_ext-0.0.7.1</li>
</ul>
<p>totorijp はどうすべきか迷ってます。すいません。</p>
mikutter - 機能 #769 (終了): activity プラグインの show_once の判定
https://dev.mikutter.hachune.net/issues/769
2015-09-02T11:13:15Z
rhen ium
<p>現状だと<br /><pre><code class="ruby syntaxhl"><span class="n">show_once</span><span class="p">(</span><span class="ss">:a</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c1">#=> true</span>
<span class="n">show_once</span><span class="p">(</span><span class="ss">:a</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="c1">#=> true</span>
<span class="n">show_once</span><span class="p">(</span><span class="ss">:a</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c1">#=> false</span>
</code></pre><br />となりますが、3 つ目も true になるべきかと思います</p>
mikutter - バグ #737 (終了): *.mo ファイルのキャッシュが毎回起動時に全て再生成されてしまっている
https://dev.mikutter.hachune.net/issues/737
2014-12-20T06:45:49Z
匿名ユーザー
<pre>
mo = File.join(mo_root, "#{spec[:slug]}.mo")
</pre>
<p>この"mo"の名前のファイルをキャッシュ生成後に作成・更新する処理が抜けているのではないか?</p>
<pre>
--- core/plugin/uitranslator/uitranslator.rb.orig 2014-12-13 01:31:30.000000000 +0000
+++ core/plugin/uitranslator/uitranslator.rb
@@ -32,7 +32,7 @@ class Plugin
FileUtils.mkdir_p(File.dirname(mo_file))
GetText::Tools::MsgFmt.run(po_file, "-o", mo_file)
end
-
+ FileUtils.touch(mo)
end
bindtextdomain(to_s, path: Plugin::UITranslate::LocaleDirectory)
end
</pre>
mikutter - バグ #691 (終了): about()で渡したラベルが使用されていない。
https://dev.mikutter.hachune.net/issues/691
2014-06-07T12:23:07Z
Satoshi Okuno
moguno12@gmail.com
<p>「mikutter について」を出すためのabout()について。<br />about()にはボタンの文字列を引数に渡していますが、それが使われず「mikutter について」と言う文字列が固定で使用しています。</p>
<p>(この結果、設定画面の「mikutter について」ボタンが翻訳されていませんでした。)</p>
<p>抱え持ちの文字列を削除して引数を採用する様にすれば良いと思います。<br />パッチ書きましたので、確認をお願いします。</p>
mikutter - 致命的 #71 (終了): 1.9でSQLiteが落ちる不具合
https://dev.mikutter.hachune.net/issues/71
2011-02-05T15:56:26Z
toshi_a 初音
toshi.alternative@gmail.com
<p>1.9.1を使っていてsqliteプラグインが動いていると、起動時に確実に落ちる。</p>