操作
致命的 #701
完了ツイート中の "D " + 半角文字 の文字列がURLリンクになっていてクリックすると落ちる
開始日:
2014-06-28
期日:
進捗率:
0%
プラグイン名:
説明
「イニシャルD」で検索すると出てくる以下のようなツイート
https://twitter.com/michi_fuk/status/482752741001805825
https://twitter.com/u0a7tmok/status/482700559586033664
https://twitter.com/sanshou_shinjou/status/482697459924103168
https://twitter.com/KINGSILVIA15/status/482660290991906817
で、
- ツイート中に含まれる「"D " + 半角文字」が一つ前の文字からリンク表示になる
- そのリンクをクリックすると mikutter が落ちる
という現象が発生しています。
落ちた時のデバッグ出力は以下の通り:
notice: {MIKUTTER_DIR}/core/plugin/gtk/gtk.rb:409:in `block (2 levels) in <top (required)>': activate by toolkit. ignore. notice: {MIKUTTER_DIR}/core/plugin/gtk/gtk.rb:409:in `block (2 levels) in <top (required)>': activate by toolkit. ignore. notice: {MIKUTTER_DIR}/core/plugin/gtk/gtk.rb:409:in `block (2 levels) in <top (required)>': activate by toolkit. ignore. /usr/pkg/share/mikutter/core/plugin/profile/profile.rb:10:in `block (2 levels) in <top (required)>': undefined method `[]' for nil:NilClass from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:152:in `call' from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:152:in `clicked' from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:163:in `block in event_hooks' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `call' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `block in safety_signal_connect' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:98:in `call' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:98:in `signal_emit' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:98:in `block in tree=' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `call' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `block in safety_signal_connect' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `call' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `main' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `mainloop' from /usr/pkg/share/mikutter/mikutter.rb:63:in `boot!' from /usr/pkg/share/mikutter/mikutter.rb:92:in `<main>' /usr/pkg/lib/ruby/vendor_ruby/2.0.0/glib2.rb:31:in `exit': exit from /usr/pkg/lib/ruby/vendor_ruby/2.0.0/glib2.rb:31:in `exit_application' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:98:in `signal_emit' from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:98:in `block in tree=' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `call' from /usr/pkg/share/mikutter/core/mui/gtk_extension.rb:33:in `block in safety_signal_connect' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `call' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `main' from /usr/pkg/share/mikutter/core/plugin/gtk/mainloop.rb:10:in `mainloop' from /usr/pkg/share/mikutter/mikutter.rb:63:in `boot!' from /usr/pkg/share/mikutter/mikutter.rb:92:in `<main>' notice: {MIKUTTER_DIR}/mikutter.rb:69:in `rescue in boot!': catch exception `SystemExit' notice: {MIKUTTER_DIR}/mikutter.rb:71:in `rescue in boot!': => `SystemExit' notice: {MIKUTTER_DIR}/mikutter.rb:96:in `rescue in <main>': catch SystemExit
DはDM関連だと思いますが、表示動作仕様としてはどういう意図なんでしょうか。
関連するチケット
toshi_a 初音 さんが10年以上前に更新
- トラッカー を バグ から 致命的 に変更
「D 」で始まる文字がリンクになるのは、アクティビティの説明からユーザプロフィールにリンクするための仕様です。クラッシュするのは不具合です。
toshi_a 初音 さんが8年以上前に更新
- 担当者 を toshi_a 初音 にセット
- 対象バージョン を 3.0.0 から 3.3 に変更
Activityからユーザを開くことができなくなる問題がありますが、クラッシュを避けるために一度*D [screen_name]*という表記のサポートをドロップします。
このサポートを終了する理由として、 https://blog.twitter.com/2016/doing-more-with-140-characters の発表を読んで、 @[screen_name] 表記をdeprecatedにするつもりだと個人的に感じたからです。もとより、DMのほうはD始まりの表記は宛先を指定するためのプレフィックスで、本文には含まれていませんでした。
今回のリリースでは一旦この機能を落とし、次以降に関係するRetriever(User)にアクセスする手段を提供することにします
操作