镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Compression DB punctuation-insensitive search changes with query capitalization #697

Open

Description

@Malamo999

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions