機能 #1250
完了残り文字数カウントの処理を remain_charcount Spell に分離する
0%
説明
mikutter Nagoya 2018.5 の成果物となります、表題の件のパッチです。
(資料: https://speakerdeck.com/shibafu528/mikutter-nagoya-2018-dot-5)
従来 Gtk::PostBox.remain_charcount で行われていた、Twitterを前提とした残り文字数の計算処理を remain_charcount というSpell経由で実行するように変更し、計算処理自体はTwitter Pluginに移動しました。
Twitter依存部をプラグインに逃がすこと、残り文字数のヒント情報をTwitter以外のWorldからも提供できるようにすることを目的としています。
ただし、この実装ではTwitter DirectMessageのように同一のWorldで別の文字数計算基準を持つものを上手く処理できません。
この点が課題となっています。
ご検討よろしくお願いします。
ファイル
関連するチケット
toshi_a 初音 さんが6年以上前に更新
- ステータス を 新規 から 実装待ち に変更
- 担当者 を Shibafu Midorino にセット
- プラグイン名 を topic/1250-remain-charcount にセット
土曜日隣で直接レビューしていたのでcommitしました。
DMなど、本文以外の投稿オプションで字数制限が変化するケース¶
土曜日、口頭で
PostBoxがDiva::Modelなら、remain_charcount[world, postbox] のような構文で残り文字数を取得できると良さそう
と言いましたが、よく考えると投稿する手段はPostBoxだけじゃないし、World系プラグインがguiに依存することになるのでよくありませんね。
compose spellと全く同じ引数を渡すことにしたら、どのような場合でも常に判断材料が揃うのではないかなと思いました。
残り文字数を知りたい場所では、compose spellを呼ぶはずですから、そのようなルールならわかりやすいと思います。
Shibafu Midorino さんが6年以上前に更新
- ファイル 0002-fix_stack_overflow.patch 0002-fix_stack_overflow.patch を追加
- ファイル 0003-change_remain_charcount_options.patch 0003-change_remain_charcount_options.patch を追加
- ステータス を 実装待ち から パッチ適用待ち に変更
- 担当者 を Shibafu Midorino から toshi_a 初音 に変更
本題の前に、patch 0001にてURLを含む文字列を入力した際にスタックオーバーフローを起こしてしまう問題がありましたので、patch 0002にて対応しました。
メソッドの移動を行った際に、名前がかぶっていることに気づいていませんでした...
compose spellと全く同じ引数を渡すことにしたら、どのような場合でも常に判断材料が揃うのではないかなと思いました。
とても良いと思います。そのような形で対応しましたので、patch 0003をご確認ください。
対応にあたってPostBox内のcompose呼び出しを探していたところ、remain_charcountの呼び出し側でフッタを差し込むかのフラグの考慮が漏れていることが分かりました。
そのため、双方のオプションを統一できるような形にしています。
toshi_a 初音 さんが6年以上前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から Shibafu Midorino に変更
topic/1250-remain-charcount ブランチにcommitしました。こっちで試してるぶんには問題ないかなと思います。そのまま当てただけですが、もう一度確認お願いします。
Shibafu Midorino さんが6年以上前に更新
- 担当者 を Shibafu Midorino から toshi_a 初音 に変更
確認しました。問題ありません。
機能トラッカーには レビュー待ち → マージ待ち の状態遷移がないようですので、ステータスはそのままにしておきます。