Release 3.8.2.6: perceived-speed UX — search, tray hide, core warm, SSE.
ci / test (macos-latest) (push) Waiting to run
ci / test (ubuntu-latest) (push) Waiting to run
ci / test (windows-latest) (push) Waiting to run

Server search/hotkeys; Windows close-to-tray; background EnsureCore; SSE status with rare poll fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
M4
2026-08-01 16:32:19 +03:00
co-authored by Cursor
parent 2ad376b49e
commit 5d7c96f7fc
23 changed files with 409 additions and 33 deletions
+81 -2
View File
@@ -7,12 +7,38 @@ import (
"log"
"os"
"path/filepath"
"sync/atomic"
"unsafe"
"github.com/crgimenes/glaze"
"golang.org/x/sys/windows"
)
var (
user32 = windows.NewLazySystemDLL("user32.dll")
procGetWindowLongPtr = user32.NewProc("GetWindowLongPtrW")
procSetWindowLongPtr = user32.NewProc("SetWindowLongPtrW")
procCallWindowProc = user32.NewProc("CallWindowProcW")
procShowWindow = user32.NewProc("ShowWindow")
procSetForeground = user32.NewProc("SetForegroundWindow")
procPostMessage = user32.NewProc("PostMessageW")
procIsIconic = user32.NewProc("IsIconic")
mainHWND uintptr
origWndProc uintptr
closeHookCB uintptr
allowDestroy atomic.Bool
)
const (
// GWLP_WNDPROC as unsigned pointer-sized -4.
gwlpWndProc = ^uintptr(3)
wmClose = 0x0010
swHide = 0
swShow = 5
swRestore = 9
)
func openExternal(raw string) error {
verb, err := windows.UTF16PtrFromString("open")
if err != nil {
@@ -40,7 +66,61 @@ func decorateWindow(w glaze.WebView) {
if w == nil {
return
}
applyWindowIcon(w.Window())
hwnd := w.Window()
applyWindowIcon(hwnd)
installCloseToHide(hwnd)
}
func installCloseToHide(hwnd unsafe.Pointer) {
if hwnd == nil {
return
}
mainHWND = uintptr(hwnd)
allowDestroy.Store(false)
if closeHookCB == 0 {
closeHookCB = windows.NewCallback(closeToHideWndProc)
}
orig, _, _ := procGetWindowLongPtr.Call(mainHWND, gwlpWndProc)
if orig == 0 {
return
}
origWndProc = orig
procSetWindowLongPtr.Call(mainHWND, gwlpWndProc, closeHookCB)
}
func closeToHideWndProc(hwnd uintptr, msg uint32, wParam, lParam uintptr) uintptr {
if msg == wmClose && !allowDestroy.Load() {
procShowWindow.Call(hwnd, uintptr(swHide))
return 0
}
r, _, _ := procCallWindowProc.Call(origWndProc, hwnd, uintptr(msg), wParam, lParam)
return r
}
func showMainWindow() {
if mainHWND == 0 {
return
}
iconic, _, _ := procIsIconic.Call(mainHWND)
if iconic != 0 {
procShowWindow.Call(mainHWND, uintptr(swRestore))
} else {
procShowWindow.Call(mainHWND, uintptr(swShow))
}
procSetForeground.Call(mainHWND)
}
func prepareWindowQuit() {
allowDestroy.Store(true)
}
func closeMainWindow() {
prepareWindowQuit()
if mainHWND == 0 {
os.Exit(0)
return
}
procPostMessage.Call(mainHWND, uintptr(wmClose), 0, 0)
}
func applyWindowIcon(hwnd unsafe.Pointer) {
@@ -52,7 +132,6 @@ func applyWindowIcon(hwnd unsafe.Pointer) {
if err != nil {
return
}
user32 := windows.NewLazySystemDLL("user32.dll")
loadImage := user32.NewProc("LoadImageW")
sendMessage := user32.NewProc("SendMessageW")
const (