Searching user:<username> returns the wrong posts when the username starts with "me"
メンテナーはふだん 6 日以内に返信
まだ誰も着手していません。
- #1667 @granbellllc-png による — マージされずにクローズ
評価
調査の方向性
The issue identifies the search parser’s strings.Contains(q, "user:me") check and says the bug occurs before search plugins run; it does not name the parser file or an existing test. Start by locating that check and the search parser tests, then verify that user:me still means the current user while user:melissa returns only melissa’s posts. The author says they have a fix and plan to open a pull request, so check for that work before starting.
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
The search tips say user:username searches by author. For any username that starts with me (melissa, megan, meng, mei, ...) the search is treated as user:me instead. A visitor gets results from every author, a signed-in user gets only their own posts, and the rest of the username (lissa) is searched as a word.
The search parser checks strings.Contains(q, "user:me") before it looks up the username, so user:melissa matches that check. This happens before the search plugin is called, so it affects the built-in search and the search plugins alike.
To Reproduce
- Create two users,
melissaandbob. - As melissa, ask "Which port does the parking service use". As bob, ask "Where is the store service configuration".
- Search
user:bob: one result, bob's question. - Search
user:melissa: no results. - Search
user:melissa servicewhile signed out: two results, melissa's and bob's question.
I ran this against dev at ec5e0e9 (SQLite, installed with the AUTO_INSTALL environment variables), calling GET /answer/api/v1/search?order=newest the way the search box does:
q='user:bob' as anonymous count 1 authors [bob]
q='user:melissa' as anonymous count 0 authors []
q='user:melissa' as admin count 0 authors []
q='user:melissa service' as anonymous count 2 authors [melissa, bob]
q='user:me' as melissa count 1 authors [melissa]
Expected behavior
user:melissa returns melissa's posts, the same way user:bob returns bob's. Only user:me itself should mean the current user.
Screenshots
None, the output above is from the API.
Platform
- Device: Desktop (API calls with curl)
- OS: Linux (Docker, golang:1.25)
- Browser and version: not used
- Version:
devat ec5e0e9; the same check is onmain
I have a fix with a test and will open a pull request for it.
- 主要言語
- Go
- スター
- 15.7k
- フォーク
- 1.4k
- 平均マージ
- 9日 6時間
- マージ済み PR(30日)
- 8
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/answer のほかの issue
-
Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out対応中かも @TastyHeadphones が 47 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/answer#1617 · コメント 1 件 ·
メンテナーはふだん 6 日以内に返信
-
Admin AI settings silently reset the assistant prompt, which cannot be edited in the UI対応中かも @Andy-Sverdlov-LucaNet が 63 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 6 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 75/100
apache/answer#158 · コメント 16 件 ·
メンテナーはふだん 6 日以内に返信
-
Server-rendered <time datetime> and JSON-LD dates ignore the site time zone (server-local wall clock labeled as UTC)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
apache/answer#1669 · コメント 1 件 ·
メンテナーはふだん 6 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 42/100
メンテナーはふだん 6 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
bazel-contrib/rules_go#4784 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
POSIdev-community/aictl#40 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
nebari-dev/nebari-infrastructure-core#774 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
oracle/terraform-provider-oci#2662 ·