• Steven's avatar
    fix: add Unicode case-insensitive search for SQLite (#5559) · 8770b186
    Steven authored
    Add custom memos_unicode_lower() SQLite function to enable proper
    case-insensitive text search for non-English languages (Cyrillic,
    Greek, CJK, etc.).
    
    Previously, SQLite's LOWER() only worked for ASCII characters due to
    modernc.org/sqlite lacking ICU extension. This caused searches for
    non-English text to be case-sensitive (e.g., searching 'блины' wouldn't
    find 'Блины').
    
    Changes:
    - Add store/db/sqlite/functions.go with Unicode case folding function
    - Register custom function using golang.org/x/text/cases.Fold()
    - Update filter renderer to use custom function for SQLite dialect
    - Add test for Unicode case-insensitive search
    - Make golang.org/x/text a direct dependency
    
    Fixes #5559
    8770b186
functions.go 1.43 KB