バグ #1024
未完了リプライの可否の条件に system? が使われている
説明
アイコンホバーのリプライ表示の条件に repliable?
ではなく、 system?
が使用されている。
関連するチケット
Izumi Tsutsui さんが7年以上前に更新
system? が使われているのはたぶん #670#note-5 が発端だと思います。
いきなりDR無効化状態で起動すると
「チュートリアル中のみくったーさんにマウスオーバーアイコンでリプライできてしまう(そして落ちる)」
という問題が発覚した時にテキトーに提案したものが採用されたのです。
今はもっと適切なものがあるのであれば変えてもよいのかも?
toshi_a 初音 さんが7年以上前に更新
なるほど、mikutterコマンドの条件だとrepliable?を見ているが、アイコンオーバボタンは独自に条件を実装しているので、迂回できてしまうということですね。
#1024#note-1
これはアイコンオーバボタンの話ですね。
そもそも、システムメッセージをこういうふうに特別扱いするのは3.5となってはあまり良くないのですが、かといってアイコンオーバボタンをシステムメッセージに表示するのは無意味なので、これ自体は良くはないが害はなさそうです。丁寧にやるなら、不可能なアクションに対応するボタンは表示しないとかやったほうがいいと思います。そうした場合、多分システムメッセージにはまりもだけが表示されるようになります。
toshi_a 初音 さんが7年以上前に更新
実は、アイコンオーバボタンにはmikutterコマンドを配置したいとずっと思っていたのですが、設定するUIが面倒くさそうなのと、自分でアイコンオーバボタンをあまりつかっていないので、ずっと保留していました。
しかしこれを根本的に解決するには、リプライの可否を単一の方法で取得できる必要があって、mikutterコマンドの条件を使えたら美しそうですね。
本件の解決は、アイコンオーバボタン側に修正を行って、repliable?メソッドがtrueを返さないとPostBoxを生成しないようにします。上に書いた根本的な解決については、Serviceとの絡みもあるので、ちょっと考えます。
toshi_a 初音 さんが7年以上前に更新
- 関連している 機能 #980: 対象のModelが機能を提供できないアイコンオーバーボタンは、そのことがわかるような表示にする を追加