From aba21db4665015111d61b06b8f1ee46b9a36fa13 Mon Sep 17 00:00:00 2001
From: Michael Han <107991372+shimmyshimmer@users.noreply.github.com>
Date: Fri, 12 Jun 2026 04:18:57 -0700
Subject: [PATCH] Studio: bottom update banners, smooth llama.cpp progress,
re-prompt after copy (#6233)
Web "New Unsloth version" banner now matches the llama.cpp banner design
(borderless rounded card, drop shadow, heading title) and moves to the
bottom-right, stacked with the llama.cpp banner in a shared container. Keeps
the Release notes link, and the copy command is platform aware (curl for
macOS/Linux/WSL, irm for Windows).
The web banner is checked once per launch only, with no polling; a re-check
just happens the next time the user opens the app. Copying the install
command no longer dismisses it for good: it hides and returns on the next
launch while the install is still behind. The X button still dismisses the
version permanently.
llama.cpp progress bar: poll the job every 500ms and smooth the displayed
value so it animates with the real download instead of snapping to the ~90%
post-download hold and finishing.
---
studio/frontend/src/app/provider.tsx | 12 +-
.../src/components/llama-update-banner.tsx | 99 ++++++++++++++--
.../src/components/web/update-banner.tsx | 111 ++++++++++--------
.../src/hooks/use-llama-update-check.ts | 14 ++-
.../src/hooks/use-web-update-check.ts | 31 +++--
5 files changed, 188 insertions(+), 79 deletions(-)
diff --git a/studio/frontend/src/app/provider.tsx b/studio/frontend/src/app/provider.tsx
index 91d99e238e..f806a0f405 100644
--- a/studio/frontend/src/app/provider.tsx
+++ b/studio/frontend/src/app/provider.tsx
@@ -259,8 +259,16 @@ function TauriWrapper({ children }: { children: ReactNode }) {
<>
{children}
- Package update available: {status.latestVersion} +
+ New Unsloth version +
++ {status.currentVersion} →{" "} + + {status.latestVersion} +
-- Installed package: {status.currentVersion}. To update Unsloth, - run this in your terminal, then restart Unsloth. -
-