From 71d5fe4504df593ac835e5c3e0df7a75e1fa7b77 Mon Sep 17 00:00:00 2001 From: Ivan Mar <7308253+heysokam@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:35:43 +0200 Subject: [PATCH 1/4] fix: Unify usage of `windyUseStdHttp` for all platforms Unconditional usage of the flag for mac causes unexpected behavior on every other platform for codebases developed primarily on mac. It causes normally behaving mac apps to not download anything at all on linux. Windows silently works "as expected" only because the event update function on windy is a no-op anyway. --- src/windy/platforms/macos/platform.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/windy/platforms/macos/platform.nim b/src/windy/platforms/macos/platform.nim index 81545bb..ed1648d 100644 --- a/src/windy/platforms/macos/platform.nim +++ b/src/windy/platforms/macos/platform.nim @@ -921,7 +921,8 @@ proc pollEvents*() = # Forward event for app to handle. NSApp.sendEvent(event) - pollHttp() + when defined(windyUseStdHttp): + pollHttp() proc centerWindow(window: Window) = ## Calculate centered position for a window on the primary screen. From 812ddb1ba3ffa9f372591615c63463729bfd205c Mon Sep 17 00:00:00 2001 From: Ivan Mar <7308253+heysokam@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:44:02 +0200 Subject: [PATCH 2/4] fix: Add missing `windyUseStdHttp` for the `emscripten` platform --- src/windy/platforms/emscripten/platform.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/windy/platforms/emscripten/platform.nim b/src/windy/platforms/emscripten/platform.nim index af72ed7..b7baffc 100644 --- a/src/windy/platforms/emscripten/platform.nim +++ b/src/windy/platforms/emscripten/platform.nim @@ -106,7 +106,8 @@ proc pollEvents*() = if mainWindow.onFrame != nil: mainWindow.onFrame() mainWindow.state.perFrame = PerFrame() - pollHttp() + when defined(windyUseStdHttp): + pollHttp() emscripten_sleep(0) proc size*(window: Window): IVec2 = From b7cf1c6bffd9895f97880fe1fceb4727933fabb2 Mon Sep 17 00:00:00 2001 From: Ivan Mar <7308253+heysokam@users.noreply.github.com> Date: Fri, 3 Apr 2026 19:37:46 +0200 Subject: [PATCH 3/4] fix: Unify `windyUseStdHttp` behavior by removing it from linux --- src/windy/platforms/emscripten/platform.nim | 3 +-- src/windy/platforms/linux/x11.nim | 3 +-- src/windy/platforms/macos/platform.nim | 3 +-- src/windy/platforms/win32/platform.nim | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/windy/platforms/emscripten/platform.nim b/src/windy/platforms/emscripten/platform.nim index b7baffc..af72ed7 100644 --- a/src/windy/platforms/emscripten/platform.nim +++ b/src/windy/platforms/emscripten/platform.nim @@ -106,8 +106,7 @@ proc pollEvents*() = if mainWindow.onFrame != nil: mainWindow.onFrame() mainWindow.state.perFrame = PerFrame() - when defined(windyUseStdHttp): - pollHttp() + pollHttp() emscripten_sleep(0) proc size*(window: Window): IVec2 = diff --git a/src/windy/platforms/linux/x11.nim b/src/windy/platforms/linux/x11.nim index 05774d4..077fa4e 100644 --- a/src/windy/platforms/linux/x11.nim +++ b/src/windy/platforms/linux/x11.nim @@ -1295,8 +1295,7 @@ proc pollEvents*() = for window in windows: pollEvents(window) - when defined(windyUseStdHttp): - pollHttp() + pollHttp() proc closeIme*(window: Window) = discard diff --git a/src/windy/platforms/macos/platform.nim b/src/windy/platforms/macos/platform.nim index ed1648d..81545bb 100644 --- a/src/windy/platforms/macos/platform.nim +++ b/src/windy/platforms/macos/platform.nim @@ -921,8 +921,7 @@ proc pollEvents*() = # Forward event for app to handle. NSApp.sendEvent(event) - when defined(windyUseStdHttp): - pollHttp() + pollHttp() proc centerWindow(window: Window) = ## Calculate centered position for a window on the primary screen. diff --git a/src/windy/platforms/win32/platform.nim b/src/windy/platforms/win32/platform.nim index d0228f1..f933978 100644 --- a/src/windy/platforms/win32/platform.nim +++ b/src/windy/platforms/win32/platform.nim @@ -2474,8 +2474,7 @@ proc pollEvents*() = if (GetKeyState(VK_RSHIFT) and KF_UP) == 0: activeWindow.handleButtonRelease(KeyRightShift) - when defined(windyUseStdHttp): - pollHttp() + pollHttp() proc pollHttp*() = ## Polling for HTTP requests happens in the main windows loop. From 5ea6af073bcac24db0a6fcf8f4e188e636d8d155 Mon Sep 17 00:00:00 2001 From: Ivan Mar <7308253+heysokam@users.noreply.github.com> Date: Mon, 6 Apr 2026 15:48:36 +0200 Subject: [PATCH 4/4] fix: Missing `pollHttp` declaration/definition error on windows --- src/windy/platforms/win32/platform.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/windy/platforms/win32/platform.nim b/src/windy/platforms/win32/platform.nim index f933978..186ecef 100644 --- a/src/windy/platforms/win32/platform.nim +++ b/src/windy/platforms/win32/platform.nim @@ -2393,6 +2393,10 @@ elif compileOption("threads"): if state.onOpenCalled and state.onClose != nil: state.onClose() +proc pollHttp*() = + ## Polling for HTTP requests happens in the main windows loop. + discard + proc pollEvents*() = # Draw first (in case a message closes a window or similar) for window in windows: @@ -2476,10 +2480,6 @@ proc pollEvents*() = pollHttp() -proc pollHttp*() = - ## Polling for HTTP requests happens in the main windows loop. - discard - proc forceMousePos*(window: Window, mousePos: IVec2) = ## Forces mouse position to a place. ## This is used for simulating UI tests.