Describe the bug
On first launch, Onboarding.showFirstRun (graphcode-windows/src/App.zig, around lines 941–953) runs a modal "Welcome to GraphCode" dialog (window class GraphCodeWindowsOnboarding) before self.client.connect() (around line 997). While the dialog is open:
- The main window is disabled but displays "Disconnected" and the red "GraphCode daemon unavailable…" banner, even though a daemon is running and reachable. The CLI connected fine at the same time.
- The daemon receives no connection from the shell until the dialog is dismissed.
- The onboarding dialog exposes no UI Automation descendants (
AutomationElement.FromHandle(...).FindAll(Descendants, TrueCondition) returned nothing). Its Skip and Continue controls are custom-drawn and not reachable by assistive technology.
This made a working build look broken, and I spent a long time diagnosing a "connection failure" that was really the hidden modal.
To reproduce
- Start
graphcoded.exe with GRAPHCODE_SUPPORT_DIR set to a sandbox directory.
- Launch
graphcode-windows.exe with the same GRAPHCODE_SUPPORT_DIR, and no %LOCALAPPDATA%\GraphCode\onboarding-seen file.
- The main window shows "Disconnected"; the daemon logs no shell connection.
- Click Skip on the onboarding dialog. The daemon logs
client connected, the banner clears and "Open Folder…" appears.
Expected behavior
- Connect to the daemon independently of onboarding, or show a neutral "Finishing setup…" state instead of an error banner.
- Make sure the onboarding dialog is foreground and owned by the main window.
- Expose a proper UIA tree (buttons with names) for the dialog's controls. Record any parity-ledger impact in
investigation/ui-parity-matrix.md.
Environment
- GraphCode version: 0.1.77 label, built locally from commit 59ebed1
- OS: Windows 11 Enterprise 26200 x64
Additional context
App.zig is a shared surface; coordinate edits per AGENTS.md.
Describe the bug
On first launch,
Onboarding.showFirstRun(graphcode-windows/src/App.zig, around lines 941–953) runs a modal "Welcome to GraphCode" dialog (window classGraphCodeWindowsOnboarding) beforeself.client.connect()(around line 997). While the dialog is open:AutomationElement.FromHandle(...).FindAll(Descendants, TrueCondition)returned nothing). Its Skip and Continue controls are custom-drawn and not reachable by assistive technology.This made a working build look broken, and I spent a long time diagnosing a "connection failure" that was really the hidden modal.
To reproduce
graphcoded.exewithGRAPHCODE_SUPPORT_DIRset to a sandbox directory.graphcode-windows.exewith the sameGRAPHCODE_SUPPORT_DIR, and no%LOCALAPPDATA%\GraphCode\onboarding-seenfile.client connected, the banner clears and "Open Folder…" appears.Expected behavior
investigation/ui-parity-matrix.md.Environment
Additional context
App.zigis a shared surface; coordinate edits per AGENTS.md.