インテントが発動しない。#1002インテントが発動しない。Done:0%プラグイン名:intent_selector.rbDescription似たようなマッチ条件のインテントが複数ある場合で、とあるURLがそのどちらの条件もマッチした場合、「どの方法で開きますか?」が表示されます。(例:まったく同じ条件のインテントが二つ以上登録されている場合)intent_open()で、推奨インテントが一個なら発動。それ以外は「どの方法で?」が出るロジックになっているのが原因と思います。動きとして、マッチしたインテントの中から、何らかの優先順位で一つが選ばれて発動するのが良いと考えます。同じURLマッチ条件の(未定義)と対象(モデル)ありインテントが定義されていた場合、対象ありが優先されるべきと思います。同じモデルでURLマッチ条件の長さが異なる場合、より長い文字列にヒットした方を優先するのはどうでしょうか。(http://teokureとhttp://teokure/ahiruなインテントが定義されている場合、http://teokure/ahiru/yaki.htmlを「開く」時は、より具体的な後者が発動するべきと思っています)上記をまとめると、こんな感じの優先順位が良いかと思っています。(モデル)付きインテント(マッチ用文字列長が長い)対象(モデル)付きインテント(マッチ用文字列長が短い)対象が(未定義)インテント(マッチ用文字列長が長い)対象が(未定義)インテント(マッチ用文字列長が短い)【優先度低】#1001も踏まえたintent_selector.rbを添付しますので、ご確認いただければ幸いです。Okuno添付ファイルについて、どこが起点になっているかよく分からなかったので、パッチももらえますか。addedパッチ作ってみましたので、中身みていただけると嬉しいです。agodiffを見てイメージは掴めました。優先順位の付け方については、現在の前方一致が場当たり的なので仕方がないですが、せっかくなのでもう少し将来の拡張性を考えたいです。コードを見て気づいたかもしれませんが、Intentのマッチ条件は、現在でこそ前方一致だけですが、将来的に別の条件を足すことが出来るようになっています。想定していて、このマッチ条件自体をプラグインで拡張するインターフェイスも視野に入れています。あまりにも条件が複雑になると管理しきれ無さそうなのと、とうぶんはそれほど自由度を持ったマッチングは要求されないだろうということで、前方一致のみ実装しています。前方一致のみなら頂いたパッチのような方針でうまく行きますが、他のマッチ条件が出てくると、条件の字数では比較できなくなります。実装するなら、その当たりも絡めて考えたいなと思います。優先順位をつけるなら、管理画面で条件の順番を入れ替えられるようにして、より上にあるものが高優先度になるなど、ユーザにルールの優先順位を決めさせるような仕組みのほうが良いように思います。現在、Intentを決定するにはopenイベントの引数となったModelの種類intent_selectorの設定の二つのファクターがありますが、これで十分なのでは、と思っています。そもそも、vanillaだとModelによってIntentは一意に決定します。サードパーティプラグインによってIntentが足されて競合すると、Intentの選択ダイアログが出てきて、どちらを使うかを選択することになります。いうのがこちらの想定なんですが、多分こういう話が出てくるということは何かあったんですよね。具体的に教えてもらっていいですか。routingの優先順位を決めることについて確かに。現在は前方一致前提での提案です。今後他のマッチ条件も実装されるならば機械的な判断方法はなくなってくるはずなので、ユーザに優先順位を委ねるのがいいですね。intentが複数ある場合に、最も優先順位が高いものを採用することについてあー。こっちの方は勘違いですね。今試したら問題ない挙動でした。・まったく同じ条件で、違うアクションのインテント→そのアクションが列挙された「どの方法で?」が出る。・まったく同じ条件で、同じアクションのインテント→マージされてそのアクションが実行される。