Repository navigation
Fix Android ICU crash while grouping offers; release 0.1.66 - #65
Merged
Merged
Conversation
Normalize Unicode code points without constructing a separator regex per offer and reuse normalized canonical groups. Preserve NFKC, root-locale case folding, all Unicode letter/number categories, underscores and word boundaries. Add Unicode, canonical category and repeated offer-batch regression coverage for issue #64. Standard and F-Droid unit suites pass (189/192 tests).
Cover Unicode normalization and 20,000 successive offer group assignments in native instrumentation. Both tests passed on an isolated Android 17 API 37 AOSP test device with KVM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Loading offers repeatedly compiled the Unicode separator regex in ProductGroups and could crash Android ICU with U_MEMORY_ALLOCATION_ERROR (issue #64). Normalize by Unicode code point instead, and prepare normalized category labels once. Existing category boundaries, Unicode letters/numbers, umlauts and user data are preserved.
Release 0.1.66 updates the shared APK/server version; no backend behavior, database schema or dependencies change.
Validation:
References #64; the issue will be closed after the signed APK and Docker image are published and verified.