Eric Traut
95dcd1e837
Fix Unicode caseless matching in thread search ( #60759 )
...
## Why
Lowercasing alone misses caseless matches such as Greek sigma variants and `ss` matching `ß` in `thread/searchOccurrences`.
## What changed
Use Unicode default case folding after lowercasing both search terms and text. Map folded matches back to source character boundaries so snippets highlight the original text correctly, including characters that expand during folding.
## Testing
Extend the app-server search integration test to cover sigma variants, `ss` matching `ß`, newer Unicode case mappings, and UTF-16 match ranges in text containing an emoji.
GitOrigin-RevId: 6c4937d475daf51d3cd7784b48f5f4a8ce5fa82a
2026-11-11 08:28:25 +00:00
..
2026-11-05 11:22:06 +00:00
2026-10-29 17:25:51 +00:00
2026-11-03 15:02:57 +00:00
2026-11-03 12:33:26 +00:00
2026-11-05 16:08:23 +00:00
2026-11-10 11:17:06 +00:00
2026-11-11 08:28:25 +00:00
2026-11-10 19:52:49 +00:00
2026-11-10 01:31:19 +00:00
2026-11-11 06:41:15 +00:00
2026-11-10 11:17:06 +00:00
2026-11-07 10:41:36 +00:00
2026-11-02 17:05:56 +00:00
2026-10-26 20:26:32 +00:00
2026-11-04 00:19:12 +00:00
2026-11-07 10:41:36 +00:00
2026-11-05 22:03:29 +00:00
2026-11-11 07:12:23 +00:00
2026-11-10 19:52:49 +00:00
2026-11-05 04:25:19 +00:00
2026-11-05 05:09:32 +00:00
2026-11-05 05:09:32 +00:00
2026-11-10 02:09:01 +00:00
2026-11-10 02:09:01 +00:00
2026-11-10 21:28:22 +00:00
2026-11-11 06:41:15 +00:00
2026-11-10 04:31:32 +00:00
2026-11-10 18:33:49 +00:00
2026-11-11 06:17:00 +00:00
2026-11-10 03:02:25 +00:00
2026-10-30 20:39:47 +00:00
2026-11-07 05:59:44 +00:00
2026-11-11 08:16:52 +00:00
2026-11-05 22:49:46 +00:00
2026-11-11 05:38:52 +00:00
2026-10-27 05:52:01 +00:00
2026-11-03 23:49:01 +00:00
2026-11-03 04:08:59 +00:00
2026-11-10 11:17:06 +00:00
2026-11-10 21:26:11 +00:00
2026-11-05 04:25:19 +00:00
2026-10-27 23:53:09 +00:00
2026-11-05 00:55:46 +00:00
2026-11-11 08:16:52 +00:00
2026-11-10 01:51:29 +00:00
2026-11-11 07:39:04 +00:00
2026-11-05 17:34:20 +00:00
2026-11-06 00:37:27 +00:00
2026-11-10 08:52:35 +00:00
2026-11-10 21:58:49 +00:00
2026-11-10 02:18:39 +00:00
2026-11-11 08:16:52 +00:00
2026-11-10 03:02:25 +00:00
2026-11-06 04:24:04 +00:00
2026-11-10 04:43:24 +00:00
2026-11-09 19:26:55 +00:00
2026-11-10 04:56:49 +00:00
2026-11-06 22:26:03 +00:00
2026-11-02 20:34:35 +00:00
2026-11-09 16:37:22 +00:00
2026-11-06 04:24:04 +00:00
2026-11-09 16:37:22 +00:00
2026-11-10 16:58:06 +00:00
2026-11-10 04:43:24 +00:00
2026-11-10 03:01:14 +00:00
2026-10-27 16:36:32 +00:00
2026-11-09 12:54:46 +00:00
2026-11-11 08:16:52 +00:00
2026-11-10 03:21:26 +00:00
2026-11-10 11:45:44 +00:00
2026-11-11 08:16:52 +00:00
2026-11-10 22:22:35 +00:00
2026-11-07 10:41:36 +00:00
2026-11-10 21:26:11 +00:00
2026-10-27 05:52:01 +00:00
2026-11-04 23:46:52 +00:00
2026-10-27 05:52:01 +00:00
2026-11-06 17:47:31 +00:00
2026-11-10 11:17:06 +00:00
2026-11-10 09:54:57 +00:00
2026-10-30 07:11:56 +00:00
2026-11-10 08:34:17 +00:00
2026-11-11 08:28:25 +00:00
2026-11-11 06:41:15 +00:00
2026-11-11 02:29:34 +00:00
2026-11-11 07:24:38 +00:00
2026-10-30 16:35:54 +00:00
2026-11-04 09:51:28 +00:00
2026-10-27 05:52:01 +00:00
2026-11-03 15:02:57 +00:00
2026-11-11 02:54:40 +00:00
2026-11-11 02:54:40 +00:00
2026-11-04 00:52:58 +00:00
2026-10-28 21:09:05 +00:00
2026-11-11 08:28:25 +00:00
2026-11-10 04:31:32 +00:00
2026-11-09 19:26:23 +00:00
2026-10-27 05:52:01 +00:00