🐛 Fixed
- False-positive aMule "Download Complete" notifications when corrupted pieces transiently lifted byte counters past file size. The v3.8.2
isCompleteflag for aMule downloads used bytes-equality onfileSizeDownloaded(=EC_TAG_PARTFILE_SIZE_DONE), which counts every byte received from peers including pieces that subsequently failed hash check before being discarded — so the counter could briefly meet or exceedfileSizewhile real file content was still missing, firing adownloadFinishedevent before the file was actually on disk. The check now derives completion from the lib's decoded gap status: an empty range list means every byte is hashed and written (the same computation aMule shows as "Verified & Written" in its UI). Read on the raw lib field beforeflattenRangePairs(), since that helper collapses both the empty and undefined cases tonull.