12b9641adc4acf99f9dd4b658306ac8630d5ff35
Two ways the filter lied about the cache. First, input went into ILIKE raw, so its metacharacters were live: a typed '_' matched all 18,295 folders, '50%' matched 126 unrelated ones, and — worst — a pasted path fragment matched nothing at all, since backslash is LIKE's escape character and every name here is a backslash-delimited remote path. Second, these names come off strangers' filesystems and are full of punctuation no keyboard produces, so "Hell's Ditch", "1984-1985" and "Say... Pogue" each returned zero against stored U+2019, U+2013 and U+2026. The U+2010 HYPHEN is the nastiest of those: identical to '-' on screen, so "B-Sides" quietly found 15 of 23 folders and looked like it had worked. Both sides are now folded to ASCII and the term is escaped. The fold rides on the existing scan — a leading wildcard already ruled out the btree — but translate() over ~18k rows does cost something: a filtered page went 16ms to 88ms. Still well under the input debounce, and a normalized column with a trigram index is there if it ever stops being true. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
No description provided
42 MiB
Languages
TypeScript
90.9%
Shell
4.7%
JavaScript
4.1%
CSS
0.2%
HTML
0.1%