Skip to content

Bug-Bash #7 [Windows, Linux, Android]

Compare
Choose a tag to compare
@alexmercerind alexmercerind released this 19 Sep 21:51
· 909 commits to master since this release
91da606

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 (from utf8), 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.
    • 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.
  • 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" IOExceptions from Java/Kotlin.
  • 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.