Bug-Bash #7 [Windows, Linux, Android]
This release mainly addresses a newly discovered issue that caused indexing process to completely freeze (in rare cases) for some users.
Downloads
Downloads are available on the project website.
Highlights
- Apparently, having Latin characters with certain accents in metadata values confused libmpv.
- This caused libmpv to return incorrect UTF-8 bytes (from
dart:ffi
/package:ffi
's perspective). - This resulted in an unhandled
FormatException
by Dart (fromutf8
), causing whole event callback isolate to die. - For the character
猫
:- libmpv stores it in a single byte with a value of
232
. I mean that's under 255, so SGTM. - dart:ffi expects
195, 168
(with an extension byte). But, I think Dart's FFI is correct.
- libmpv stores it in a single byte with a value of
- Thanks to @Zahrun for the file sample & the bug-report.
- This is quite odd since Harmonoid is tested against music files having metadata/tags in Japanese, Mandarin & other foreign languages (even Latin characters with accents). This was quite an edge-case.
- However, the issue is now fixed. More details may be found at #331.
- This caused libmpv to return incorrect UTF-8 bytes (from
- Harmonoid on Android now uses MD5 hashing for generating a unique identifier to cache the file when opened from file explorer etc.
- This will prevent any "File name too long"
IOException
s from Java/Kotlin.
- This will prevent any "File name too long"
- Translations have been updated for few of the languages, thanks to our kind translation providers.
- Update Portuguese translations. Thanks to @maisondasilva.
- Update Simplified Chinese translations. Thanks to @wcxu21.
- Update Russian translations. Thanks to @Feelogil.