From b3ed1af1a8cb209d04fe000939612977434ca93d Mon Sep 17 00:00:00 2001 From: wasimysaid Date: Mon, 27 Apr 2026 06:59:01 +0200 Subject: [PATCH] Fix desktop installer assets and setup script skew --- install.ps1 | 31 +----------------- studio/src-tauri/tauri.conf.json | 3 +- .../windows/branding/nsis-header.bmp | Bin 25818 -> 25818 bytes .../windows/branding/nsis-sidebar.bmp | Bin 154542 -> 154542 bytes 4 files changed, 2 insertions(+), 32 deletions(-) diff --git a/install.ps1 b/install.ps1 index 77c0034125..c1b19190f8 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1027,35 +1027,6 @@ shell.Run cmd, 0, False } } - # Hotfix: patch install_python_stack.py for Windows GUI stdout - # The PyPI version crashes with OSError when stdout is piped from a GUI app. - # Copy our fixed version (bundled by Tauri) over the installed one. - # Remove this block once PyPI ships the fix from commit 18c5aae7. - if ($TauriMode) { - $rawPath = if ($PSCommandPath) { $PSCommandPath } else { $MyInvocation.ScriptName } - $scriptDir = Split-Path -Parent ($rawPath -replace '^\\\\\?\\', '') - $fixedPy = Join-Path $scriptDir "install_python_stack.py" - $target = Join-Path $VenvDir "Lib\site-packages\studio\install_python_stack.py" - $sentinel = "# UNSLOTH_DESKTOP_HOTFIX_APPLIED_v1" - $sentinelPattern = [regex]::Escape($sentinel) - if ((Test-Path $fixedPy) -and (Test-Path $target)) { - $installed = Get-Content $target -Raw - if ($installed -notmatch $sentinelPattern) { - Copy-Item $fixedPy $target -Force - Add-Content -Path $target -Value "`n$sentinel" - substep "patched install_python_stack.py (stdout fix)" - } else { - substep "install_python_stack.py already has stdout fix" - } - } elseif ((Test-Path $fixedPy) -and (Test-Path (Split-Path $target))) { - Copy-Item $fixedPy $target -Force - Add-Content -Path $target -Value "`n$sentinel" - substep "patched install_python_stack.py (stdout fix)" - } else { - Write-Host "[WARN] Could not patch install_python_stack.py (bundled file or target dir missing)" -ForegroundColor Yellow - } - } - # ── Run studio setup ── # setup.ps1 will handle installing Git, CMake, Visual Studio Build Tools, # CUDA Toolkit, Node.js, and other dependencies automatically via winget. @@ -1095,7 +1066,7 @@ shell.Run cmd, 0, False if ($setupExit -ne 0) { Write-TauriLog "ERROR" "unsloth studio setup failed (exit code $setupExit)" Write-Host "[ERROR] unsloth studio setup failed (exit code $setupExit)" -ForegroundColor Red - return + exit $setupExit } # ── Expose `unsloth` via a shim dir containing only unsloth.exe ── diff --git a/studio/src-tauri/tauri.conf.json b/studio/src-tauri/tauri.conf.json index 705cf0ea94..497e15731e 100644 --- a/studio/src-tauri/tauri.conf.json +++ b/studio/src-tauri/tauri.conf.json @@ -44,8 +44,7 @@ "targets": ["app", "appimage", "deb", "dmg", "nsis"], "resources": { "../../install.sh": "install.sh", - "../../install.ps1": "install.ps1", - "../install_python_stack.py": "install_python_stack.py" + "../../install.ps1": "install.ps1" }, "icon": [ "icons/32x32.png", diff --git a/studio/src-tauri/windows/branding/nsis-header.bmp b/studio/src-tauri/windows/branding/nsis-header.bmp index 7eacdce7db5026855113aa5f03c47663d1e17561..aef7fea67b50bcb320d8ceaf3ab5f488f07a3107 100644 GIT binary patch literal 25818 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 TNy|gaL(4<&Jz#m*8F=^~mCb?X diff --git a/studio/src-tauri/windows/branding/nsis-sidebar.bmp b/studio/src-tauri/windows/branding/nsis-sidebar.bmp index c3bd480fc8993fa88d280c35ad105a7ddf1bc7ff..fe66d78a1909ba9641816ac4a4c5d9e8ec0bf0f9 100644 GIT binary patch literal 154542 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 literal 154542 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