Skip to content

Finish Windows Quick Chat canvas and workspace parity - #906

Merged
coneilen merged 6 commits into
mainfrom
coneilen-quick-chat-parity-774
Oct 21, 2026
Merged

coneilen merged 6 commits into
mainfrom
coneilen-quick-chat-parity-774

Conversation

@coneilen

Copy link
Copy Markdown
Collaborator

Summary

Finish the remaining Windows Quick Chat source parity for #774: the empty Quick Chats canvas now matches the macOS composition, and a daemon-confirmed Quick Chat opens as its own agent-owned workspace instead of inheriting shell/previous-loop semantics.

Refs #774.

Changes

  • Show the overlapping-chat glyph, full macOS empty-state copy, centered New Chat action, and independent top-right + New Chat action on the Quick Chats canvas.
  • Route the centered action through the same create command from pointer and UI Automation paths, with distinct stable identity and shared geometry.
  • Create chats with the local Chat — Mon D title and the configured default backend.
  • Correlate create responses, request the daemon-owned session before attaching, mount that confirmed Quick Chat through the agent path, preserve the backend tab title, and repair layouts saved by the prior Windows implementation with the chat pane marked as a shell.
  • Preserve Add Quick Chat workspace parity #815's stable chat-ID bar, no-loop-panel behavior, safe Quick Chat Restart no-op, and all normal loop workspace behavior.

Test plan

RED: & $env:GRAPHCODE_ZIG0152 test src\WorkspaceLayout.zig --test-filter "Quick Chat remaining parity" -> 1 executed, 0 passed, 1 failed because the existing chat-ID pane remained launches_agent=false
GREEN: & $env:GRAPHCODE_ZIG0152 test src\App.zig src\AccessibilityProvider.cpp src\FilePicker.c src\FolderPicker.c $winghosttyLib -DUNICODE -D_UNICODE -target x86_64-windows-msvc -lc -luser32 -lgdi32 -lgdiplus -lmsimg32 -lopengl32 -lkernel32 -limm32 -lole32 -loleaut32 -luiautomationcore -lshell32 -ladvapi32 -lwinhttp "-I$include" $terminalVtLib --test-filter "Quick Chat remaining parity" -> 9 executed, 9 passed, 0 failed
REGRESSION: & $env:GRAPHCODE_ZIG0152 test src\App.zig src\AccessibilityProvider.cpp src\FilePicker.c src\FolderPicker.c $winghosttyLib -DUNICODE -D_UNICODE -target x86_64-windows-msvc -lc -luser32 -lgdi32 -lgdiplus -lmsimg32 -lopengl32 -lkernel32 -limm32 -lole32 -loleaut32 -luiautomationcore -lshell32 -ladvapi32 -lwinhttp "-I$include" $terminalVtLib --test-filter "Quick Chat parity" -> 6 executed, 6 passed, 0 failed

Additional focused evidence:

  • WorkspaceLayout.zig --test-filter "ensureAgentFirst": 1 executed, 1 passed.
  • The focused 9-test App root includes request-byte/request-ID coverage plus matched, unrelated, duplicate, error, and v1 create-response state.
  • GraphCanvas.zig --test-filter "Quick Chat remaining parity": 1 executed, 1 passed.
  • TerminalSurface.zig --test-filter "Quick Chat remaining parity" with the pinned Winghostty and terminal VT libraries: 2 executed, 2 passed.
  • Pinned Winghostty provider commit 6286560d0aa3103e068b2b7afa81eac373d870c9 produced a nonempty host library from a clean provider worktree. The terminal VT preparation produced a nonempty ghostty-vt-static.lib.

Evidence limits:

  • No GraphCode app, daemon, zmx process, live UIA gate, manual screenshot, or capture workflow was launched.
  • The committed macOS empty-state capture and macOS source define the target, but no current Windows/macOS paired visual review was executed.
  • Unit/UIA publication tests establish source behavior and geometry, not real provider startup, zmx attachment, terminal rendering, physical input, screen-reader conformance, daemon-restart persistence, or whole-issue visual acceptance.
  • Exact-head CI has not run yet. The issue and parity ledger remain open/Partial; this PR does not claim runtime or visual validation.

Checklist

  • I have read the Contributing Guidelines
  • I have signed off my commits (git commit -s) per the DCO
  • Tests pass locally (make test)
  • Code follows the existing style (make check)
  • I added the test/contract before the implementation and observed the intended RED failure

coneilen and others added 6 commits October 20, 2026 16:01
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
@coneilen
coneilen marked this pull request as ready for review October 21, 2026 00:44
@coneilen
coneilen merged commit 1b20cda into main Oct 21, 2026
26 checks passed
@coneilen
coneilen deleted the coneilen-quick-chat-parity-774 branch October 21, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant