バグ #813
closed< > & が含まれるツイート本文に対するマウスドラッグ文字列選択で範囲表示がズレる
Description
現象¶
mikutter 3.3.5 で
< > & が含まれるツイート
https://twitter.com/tsutsuii/status/697535948351893504
https://twitter.com/tsutsuii/status/697649907390222337
等を mikutter 上で表示してツイート本文のマウスドラッグで文字列選択した場合、
選択範囲表示が < > & のそれぞれ1文字に付き 1文字右にズレるようです。
適当な考察¶
マウス選択位置までの文字数を、表示されている文字数より1文字多くカウントしている感じです。
#284 で「URLが入ったつぶやきの文字列選択で、選択位置がずれる」というのがあって
#445 で特殊文字のエスケープ書式が変わったという過去もありましたが
似たような原因でしょうか。
蛇足¶
おさけーさんの show_tweet プラグインを使うと検証がはかどります
https://github.com/osak/show_tweet
Updated by Izumi Tsutsui over 8 years ago
source:core/mui/cairo_miracle_painter.rb@ab1cf1b0#L234 の
result[1] = main_message.text.get_index_from_byte(result[1])
の [1] がエスケープされている文字の場合意図通りに動かない
という気がしますが、どうでしょう。
Updated by toshi_a 初音 over 8 years ago
- Status changed from 新規 to 実装待ち
- Assignee set to toshi_a 初音
確かにおかしいですね。
Updated by toshi_a 初音 over 8 years ago
- Status changed from 実装待ち to レビュー待ち
- Assignee changed from toshi_a 初音 to Izumi Tsutsui
修正しました。闇属性のファイルだったので特定に時間がかかりましたが、単に特定の記号の境界処理が誤っていただけですね。一応確認してください。
Updated by Izumi Tsutsui over 8 years ago
いつもお世話になっております。
mikutter 3.3.5 で source:core/mui/cairo_textselector.rb@1a111b7f だけ入れ替えて
当該ツイートでざっとテストしてみて選択範囲は問題ないようです。
これでコードツイートのコピペもはかどります。ありがとうございます。
チケットと関係ないですが、 Redmine のバージョンアップ時のロール設定のせいか
「報告者」だとチケットの「ステータス」が変更できないようになっているような……。
Updated by Izumi Tsutsui over 8 years ago
新しいチケット起こすべきかもしれませんが
1a111b7f の修正後、ツイートの本文に改行が含まれるツイートを範囲選択すると
ツイート中の改行がなくなってしまうという現象になるようです。
https://twitter.com/Akkiesoft/status/698502248918200322
https://twitter.com/Akkiesoft/status/698502565881729024
source:core/mui/cairo_textselector.rb@1a111b7f
の修正で改行について考慮が必要ということでしょうか。