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