You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#2137 (PR#2614) added a SetStdHandle(STD_ERROR_HANDLE/STD_OUTPUT_HANDLE, <log file>) redirect at GUI startup (packages/desktop-app/src-tauri/src/main.rs, release+Windows only) so the Tauri GUI process's own eprintln!/println! calls (which are otherwise silently discarded — windows_subsystem = "windows" means no console exists at all in a release build) land in a log file instead.
Problem Statement
#2137's own issue text explicitly asked for verification that this redirect "doesn't interfere with WebView2/Tauri's own expectations." That verification was not fully closed: the standalone Windows harness used to prove the redirect works (real Windows hardware, but a scratch binary with no Tauri/WebView2 dependency, since the full GUI crate can't build on that machine without libclang/LLVM — a pre-existing, already-tried-and-blocked environment gap) could not include WebView2 in the test. The PR's own review assessed the real risk as low (WebView2's IPC doesn't depend on inherited stdio handles) but flagged this as worth a named follow-up rather than treating the loop as fully closed.
Proposed Solution
Once a Windows environment can build the full nodespace-app crate (i.e., once libclang/LLVM is available there, or via a CI/cross-compilation path), launch the real GUI binary in release mode and confirm:
The app starts and WebView2 renders normally (no visible regression from the stdio redirect)
A real schema-parse diagnostic (triggering the SchemaNode::from_node code path PR#2614 exists to rescue) actually lands in the redirected log file when triggered through the real GUI, not just the standalone harness
Acceptance Criteria
Real Tauri GUI binary launches normally in release mode with the SetStdHandle redirect active
No WebView2/Tauri IPC regression observed
A real schema-parse diagnostic triggered through the actual GUI lands in the log file
Reference Files
packages/desktop-app/src-tauri/src/main.rs — the SetStdHandle redirect
packages/desktop-app/src-tauri/src/commands/schemas.rs — the diagnostic path it rescues
Setup: the published v0.3.5 x64 installer (NodeSpace_0.3.5_x64_en-US.msi), release build, running under x64 emulation in a UTM virtual machine on an Apple Silicon Mac. Windows 11 24H2, build 26100.4349 at install, 26100.9457 after a Windows Update reboot.
Results
Launch and WebView2: no regression observed. The app launches, the UI renders, creating a node works with no errors, and the View menu actions work.
The redirect is applied. On the first launch after install, the GUI process's own tracing output (nodespace_app_lib INFO lines, 2,091 bytes) landed in %USERPROFILE%\.nodespace\logs\nodespace-app.log, and nodespace-app-error.log was created. On later launches both files are recreated after deletion and are held open by the running app: an exclusive open fails with a sharing violation while NodeSpace runs and succeeds after it quits. So SetStdHandle took effect.
Not reproduced on later launches. After the reboot, neither the startup tracing nor the println! fired by View → Toggle Sidebar (used through the menu bar item, not a shortcut) reached nodespace-app.log, which stayed at 0 bytes across two launches. Ruled out: HOME (the redirect uses dirs::home_dir()), the open mode (create + append), the prior state of the files (deleted and recreated), and the click path. Not determined: whether this is a NodeSpace issue or an effect of the OS update, x64 emulation or the VM. The OS build changed between the launch that logged and the ones that did not.
Acceptance criterion 3 as written can't be performed. The SchemaNode::from_node diagnostic was removed when SchemaNode became one wire type, so the original trigger no longer exists. The substitute used was the menu println! above.
Side observations
The skill installer sidecar exited 0xC000001D (illegal instruction) under emulation. It is non-fatal and logged as a warning. Likely an emulation limitation, not confirmed.
A run on x64 Windows hardware, or a fresh install of a build containing the #3761 fix, to separate a product issue from an environment one. A Windows build of the merged branch exists as a workflow artifact for that.
Update: verification complete, defect tracked in #3768
Further runs on the same VM narrowed the later-launch silence reported above to the launch method, not the OS update:
Launched from the installer's finish screen or from PowerShell, the GUI process's output (tracing startup lines through the shutdown sequence) lands in nodespace-app.log.
Launched from the Start menu, which is how users and the autorun entry launch it, nothing lands, across seven launches on two builds. The redirect's files are opened and held by the app in that case (exclusive open fails while it runs, succeeds after it quits), and a launch that re-extracted the daemon sidecars was still silent.
Answers to what this issue asked:
No WebView2/Tauri interference: the app launches, renders, creates nodes and handles menu actions on every launch path.
The original from_node trigger no longer exists, so a diagnostic was observed through the app's own startup and shutdown output and the menu println!.
Activity
malibio commentedon Oct 12, 2026
Verification on a Windows 11 ARM64 VM
Setup: the published v0.3.5 x64 installer (
NodeSpace_0.3.5_x64_en-US.msi), release build, running under x64 emulation in a UTM virtual machine on an Apple Silicon Mac. Windows 11 24H2, build 26100.4349 at install, 26100.9457 after a Windows Update reboot.Results
nodespace_app_libINFO lines, 2,091 bytes) landed in%USERPROFILE%\.nodespace\logs\nodespace-app.log, andnodespace-app-error.logwas created. On later launches both files are recreated after deletion and are held open by the running app: an exclusive open fails with a sharing violation while NodeSpace runs and succeeds after it quits. SoSetStdHandletook effect.println!fired by View → Toggle Sidebar (used through the menu bar item, not a shortcut) reachednodespace-app.log, which stayed at 0 bytes across two launches. Ruled out:HOME(the redirect usesdirs::home_dir()), the open mode (create + append), the prior state of the files (deleted and recreated), and the click path. Not determined: whether this is a NodeSpace issue or an effect of the OS update, x64 emulation or the VM. The OS build changed between the launch that logged and the ones that did not.SchemaNode::from_nodediagnostic was removed whenSchemaNodebecame one wire type, so the original trigger no longer exists. The substitute used was the menuprintln!above.Side observations
0xC000001D(illegal instruction) under emulation. It is non-fatal and logged as a warning. Likely an emulation limitation, not confirmed.could not determine models directory: $HOME is unseterror was found during this run, filed as Local model management is disabled on Windows because the models directory is resolved from $HOME #3761 and fixed in Resolve the GGUF models directory through the daemon's NodeSpace home (closes #3761) #3762.Remaining
A run on x64 Windows hardware, or a fresh install of a build containing the #3761 fix, to separate a product issue from an environment one. A Windows build of the merged branch exists as a workflow artifact for that.
malibio commentedon Oct 12, 2026
Update: verification complete, defect tracked in #3768
Further runs on the same VM narrowed the later-launch silence reported above to the launch method, not the OS update:
tracingstartup lines through the shutdown sequence) lands innodespace-app.log.Answers to what this issue asked:
from_nodetrigger no longer exists, so a diagnostic was observed through the app's own startup and shutdown output and the menuprintln!.Closing this as verified; the open defect continues in #3768.