What's Changed
- Chat & Messaging:
- Add option to hide read receipts locally (always display single checkmark)
- Add ban user by 64-bit integer ID in banned members list
- Add iOS-style in-app message sounds option
- Fix poll and quiz explanation translation (risin42#353)
- Translation & LLM:
- Migrate AI Studio translation to native Gemini API with in-memory translation cache
- Fix translation formatting and output validation
- Appearance & Theme:
- Add AMOLED Dark theme for OLED displays
- Fix action bar centered title alignment in chat and dialog lists
- Fix theme export/import and use
copyFileSafeto prevent IOException - Refresh camera placeholder image with compressed & blurred visual (
icplaceholder.jpg)
- Fonts & Typography:
- Fix persistence, file resolution, and state synchronization for custom font settings
- Clean up font picker preview and system typeface toggling
- Networking & Audio:
- Implement graded download speed boost with informative notice dialog
- Fix notification service lingering when switching push providers
- Audio player: disable preloading when 'Repeat One' is active (#13)
- Preserve VoIP JNI symbols during packaging (fix native voice call crashes)
- Updates & Packaging:
- Fix update check ABI matching: properly route arm64-v8a and prevent mismatched x86 fallback
- Enforce versionCode comparison for GitHub Releases and channel update checks
- Localization & Refactoring:
- Unify global mod branding to Niagram / NiagramX
- Migrate root package namespace from legacy
tw.nekomimi.nekogramtotop.nkbe.niagram - Consolidate and clean up
strings_nia.xmlacross all 16 locales (0 missing keys) - Fix UnsatisfiedLinkError in NativeInstance.getAllVersions
Full Changelog: 1263...1264