ModelDock V1.0.1
[1.0.1] - 2026-05-16
π Added & Improved
-
Real-time Downloaded Size Tracking (
downloadedSize):- Implemented an advanced regex parser in the Node.js backend (
server.js) to extract the exact downloaded data size and total file size (e.g.,11.0M/4.48G) directly from the livetqdmlog stream. - Added the
downloadedSizeproperty to the API responses and theDownloadItemTypeScript interface. - Updated the download table (
Canvas.tsx) and the right sidebar (SidebarRight.tsx) to display the downloaded size right next to the live download speed (881 KB/s). This completely eliminates UX ambiguity where users mistook download speed for downloaded size.
- Implemented an advanced regex parser in the Node.js backend (
-
Clean Startup & Session Management:
- Added an automated database reset query during backend startup (
server.js) that checks the SQLite database for any orphaned or interrupted downloads from previous sessions (downloading,starting, orqueued). - Automatically sets their status to
pausedon application launch, ensuring the live queue starts in a perfectly clean, pristine state without frozen/zombie downloads. Users can seamlessly resume partial downloads at any time by clicking the Play (Resume) button.
- Added an automated database reset query during backend startup (
-
Bulletproof Python Executable Discovery (
getPythonExecutable):- Engineered an intelligent Python runtime discovery mechanism for packaged Electron production builds.
- Systematically scans standard system paths (
C:/Program Files/Python311/python.exe), Scoop environments (scoop/apps/python313/current/python.exe), and local AppData directories using physical file verification (fs.existsSync). This guarantees the app locates and binds the exact Python interpreter containing the requiredhuggingface_hubdependencies.
-
Enhanced Log Observability:
- Included absolute file paths for both the selected Python interpreter and the downloader script (
downloader.py) inside the live download log stream. Users can easily inspect these details via the built-in Terminal modal.
- Included absolute file paths for both the selected Python interpreter and the downloader script (
π Fixed
-
Packaged Electron ASAR Crash (
spawn ENOENT&cwdFix):- Fixed a critical production bug where packaged Electron builds failed instantly upon starting a download. Previously,
child_process.spawnusedcwd: __dirname, which resolved to the virtualapp.asararchive. Since the Windows kernel cannot recognize ASAR files as working directories,spawnthrew anENOENTerror. - Updated
cwdtopath.dirname(scriptPath), ensuring the child process uses the physicalresourcesdirectory wheredownloader.pyis unpacked.
- Fixed a critical production bug where packaged Electron builds failed instantly upon starting a download. Previously,
-
Background Progress Bar Suppression:
- Resolved an issue where Python child processes spawned via Node pipes disabled
tqdmprogress bars due to the lack of a detected TTY environment. - Injected
TQDM_POSITION: "-1"andHF_HUB_DISABLE_PROGRESS_BARS: "0"into the spawned environment variables, guaranteeing reliable, real-time progress percentages (%), speeds, and ETAs in the UI.
- Resolved an issue where Python child processes spawned via Node pipes disabled
-
IDE Linting & Module Resolution:
- Installed
huggingface_huband its dependencies into the Scoop-based Python 3.13 environment selected by the editor (Pylance/Pyright), eliminating false-positive "Cannot find module" linting errors.
- Installed