Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Compression DB punctuation-insensitive search changes with query capitalization

未關閉 適合新手
#697 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 3 天內回覆

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
82/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
visualbasic
領域
desktop, search

研究方向

閱讀CompactGUI/ViewModels/DatabaseViewModel.vb,特別是第63–79行和FilterResults方法。比較小寫正規化與區分大小寫的Contains檢查,接著使用counterstrike、CounterStrike和再次輸入counterstrike驗證A/B/A重現。大小寫不再改變忽略標點的比對結果時,即為完成。

由索引模型根據 Issue 內容生成。

描述

Tested on official v4.0.0-beta.12, Windows 11 25H2 (26200.9711), ASUS Vivobook S 15 / Snapdragon X Elite X1E-78-100 / 16 GB RAM, .NET 10.0.13. Both the native ARM64 application and the official x64 application were tested directly on this ARM laptop. Additional component checks used unchanged libraries extracted from the x64 release, with the release's embedded manifest. No Intel/AMD PC was tested. Only disposable files were used. Most testing was automated with Codex, with human assistance identified where applicable. Related build request: #556.

Reproduction
In Compression DB, search counterstrike, then CounterStrike, then counterstrike again.

The lowercase query finds Counter-Strike and related hyphenated titles. Changing only capitalization drops those matches, leaving a Command & Conquer title containing literal unhyphenated Counterstrike. Switching back restores the Counter-Strike results. The A/B/A sequence was repeated.

Expected: changing query capitalization should not change those punctuation-insensitive matches.

DatabaseViewModel.vb lines 63–79 normalizes the game name to lowercase but compares it to the unnormalized SearchText using case-sensitive Contains. A separate literal comparison is case-insensitive, explaining the remaining result.

Normalizing both sides of the normalized comparison should address this. The x64 comparison below also reproduces the filtering defect.

x64 component comparison (21 October 2026)

The actual x64 release's DatabaseViewModel.FilterResults method was called with synthetic objects bearing these public game titles. The A/B/A results were:

Query Counter-Strike Command & Conquer: Red Alert - Counterstrike
counterstrike matched matched
CounterStrike not matched matched
counterstrike again matched matched

This component result does not depend on fetching a live database.

Direct x64 GUI follow-up (21 October 2026)

The same A/B/A sequence was then entered into the official x64 Compression DB page using its loaded database. Lowercase counterstrike showed Counter-Strike and related hyphenated titles; CounterStrike removed those matches and left the Command & Conquer title with literal Counterstrike; returning to lowercase restored the results. This directly confirms the reported search behavior in both release GUIs.

主要語言
Visual Basic .NET
星號
8.9k
分支
343
平均合併
3 天 18 小時
30 天內合併 PR
7

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

IridiumIO/CompactGUI 的其他 Issue

查看 IridiumIO/CompactGUI 的全部 Issue

相似的 Issue

更多 Desktop Dev Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。