モバイルでチェックボックス付きタグの検索結果が表示されない

\u003e:warning: 2023年8月の注記: このトピックの以前の例には、現在は存在しないタグへの参照が含まれていますが、結果が空白になる問題は依然として残っています。

モバイルで https://meta.discourse.org/tags/c/theme/61/theme-component にアクセスし、虫眼鏡をタップして、例えば「topic」を検索し、「Theme component タグを検索」のチェックボックスをタップすると、2つの問題が発生します。
一方では、ボックスがチェックされるまでチェックボックスを2回タップする必要があります。もう一方では、チェックボックスを1回または2回タップしても検索結果が表示されませんが、デスクトップ検索を使用すると多数表示されます。

チェックボックスに触れずにモバイルで検索


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=true

モバイルで検索&チェックボックスを1回タップ


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

モバイルで検索&チェックボックスを2回タップ


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

デスクトップビューを使用して検索


https://meta.discourse.org/search?q=topic%20%23theme-component

モバイルで結果を得るために検索に Theme component と入力できることは知っていますが、チェックボックスを提供するという考え方はそうではないと思います。

「いいね!」 3

@moin さん、良い発見ありがとうございます。おそらく 2 つ のバグを見つけていただいたと思います。:slight_smile:

  1. チェックボックスがすぐに機能しないこと
  2. タグに検索を限定すると、Discourse が 403 で返すルートが作成されること

チェックボックスがチェックされない

モバイルでは、検索リンクが URL に「コンテキスト」を追加し、問題のチェックボックスを切り替えられるようになります。この場合、見ている URL は https://meta.discourse.org/search?context=tag&context_id=theme-component&skip_context=true です。

チェックボックスを切り替えると、skip_contexttrue から false に、そして元に戻るように検索クエリが変更されます。これは、デフォルトでボックスがチェックされた状態の URL を作成できることも意味します。たとえば、<https://meta.discourse.org/search?context=category&context_id=1&skip_context=false> のような URL です。これは、ロード時に 2 つの状態の間で異なる動作に気づいたため重要です。

skip_context=true

モバイルビューでのデフォルトであり、ボックスはチェックされません。チェックボックスをタッチまたはキーボードで操作すると、URL は skip_context=false に変更されますが、チェックボックスはチェックされません。もう一度クリックするとチェックされ、URL には「false」が保持されます。

その後、期待どおりに URL が変更され、オンとオフを切り替えることができます。

skip_context=false

検索がロードされるとチェックボックスがチェックされ、操作は期待どおりに機能します。各操作でチェックボックスと URL が変更されます。


別件ですが、skip_context の値に関係なく、これらのチェックボックスを使用するとページへのフォーカスが失われることにも気づきました。ダブルクリックの問題を引き起こしているのも同じことだと良いのですが。:slight_smile:

セーフモードとモバイルデバイスでこの動作を再現しました。

タグがスコープされないことについては、必要に応じて切り離しやすくするために、後続の返信で説明します。

「いいね!」 4

タグの検索スコープで403エラーが発生する

これは私を混乱させました。なぜなら、メタで再現しようとしたときに、誤って検索コンテキストでタグではなくカテゴリを読み込んでしまったからです。それは幸いなことに、間違いに気づいたとき、少なくともそれらのコンテキストで検索クエリがどのように生成されているかを知っていたからです。

例として #theme#theme-component を使用します。

タグの検索コンテキストを使用すると、リクエストは次のようになります: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=tag&search_context[id]=theme-component。これは403を返します。

カテゴリの検索コンテキストを使用すると、リクエストは次のようになります: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=category&search_context[id]=61。これは期待どおりに結果を返します。

あるいは、高度な検索フィルターからタグを選択すると、リクエストは次のようになります: https://meta.discourse.org/search?q=tags:theme-component&page=1。これはそのタグの結果を返します。

セーフモードでも &search_context[type]=tag&search_context[id]=theme-component パスが403を返すことを再現できます。

他に search_context のタイプはありますか?コードをちらっと見ましたが、判断できませんでした。もしあれば、それらもテストできます。

「いいね!」 3

Discourse Subscriptions - allow subscription of predetermined length の議論を続けます。

サブスクリプションタグ付きの投稿にリンクしようとしたので、タグ一覧ページに移動してそこから検索しました。結果はありませんでした。以下を参照してください。メインページから検索すると問題なく動作します。チェックボックスが問題である可能性があります。それが違いです。

「いいね!」 1

確認できます。post-voting タグからオプションをオンにして検索してみましたが、結果は見つかりませんでした(@mention やその他の通常のキーワードも同様です)。

Android/Chrome

(まだデスクトップでは確認していません) デスクトップで確認したところ、問題なく動作しました。

それは私がここで報告した問題の1つですか?

「いいね!」 2

チェックボックスをオンにすることに問題はありませんでしたが、結果がないことは同じ問題のようです。

トピックをマージしました。:+1: (OPを少しだけ調整しました)。

ここにもメモしておきます。OPの例のタグはもう存在しませんが、モバイルでの空白の検索結果の問題はまだ残っています。

私の非常に基本的なステップバイステップ:

  • モバイルで、post-voting トピックリストに移動します
  • 検索を開き、「#post_voting タグを検索」チェックボックスをオンにします
  • 必ずヒットするものを入力します(例:「comment」または「@JammyDodger」)
  • 「検索」を押します

結果:「結果が見つかりませんでした

期待される結果:何かを見つける

「いいね!」 2

これは確かにバグですね。ご報告ありがとうございます。このPRがマージされれば修正されるはずです: FIX: Search by tag context was broken by pmusaraj · Pull Request #23006 · discourse/discourse · GitHub

「いいね!」 2

これがマージされました :partying_face:

「いいね!」 3

このトピックは2日後に自動的に閉じられました。返信はもう受け付けられません。