- The dictionary update card now returns after a failed download
- Fixed headwords and articles with escaped characters being displayed incorrectly
- Fixed slow rendering of articles containing many bracket characters
- Fixed the dictionary update card taking too long to reappear after
cancelling a download (DownloadManager).
- Bump agp 9.3.0 -> 9.3.1; migrate the release build type from
isMinifyEnabled/isShrinkResources/proguardFiles to
optimization { enable = true } with keep rules moved to
app/src/release/keepRules/proguard-rules.keep.
- Fixed a crash on broad queries (e.g. a single letter across several
dictionaries): the results list keyed items by dictionary
path/offset/word, and duplicate keys are illegal in a Compose list;
drop the explicit key, let Paging identify items by position instead
(SearchResultsList).
- Fixed a disabled dictionary reactivating itself on the next app
launch: the active flag is now persisted through
PreferencesManager/DataStore and reapplied whenever the dictionary
list is rebuilt (LocalDictionaryRepository).
- Search results no longer stop at the first ~100-200 matches: the
ranked head page hands back a cursor per unfinished prefix range,
and IndexEntryPagingSource pages the rest straight from the index,
merged alphabetically across dictionaries, until every match is
surfaced (IndexSearcher, IndexEntryPagingSource).
- Added diacritic-insensitive search: folded index entries are merged
into the primary index as aliases, so accented and plain spellings
find each other (DslIndexer, IndexSearcher).
- Fixed indexing failures on dictionaries with dense non-Latin text: a
truncated multi-byte sequence at a sample boundary was misread as
invalid UTF-8 and the whole file fell back to UTF-16LE
(DslCharsetDetector).