Repository navigation
Add Window, Help and About menus to the desktop app - #863
Conversation
Every window carries its own menus because Avalonia makes the key window's menu the menu bar, so while none of ours is key only the app menu shows. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
PR Summary by QodoAdd Window, Help, and About menus to the desktop app
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1.
|
A failed startup keeps its latched coordinator and then opens an error window; offering the item there would re-run the window factory over the torn-down graph. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Every op is queued before the toggle, so it can settle before the assertion runs and leave a settled state last; the ubuntu leg failed there under load. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Closes #861 — AI-2687
What & why
The desktop app's menu bar is Avalonia's fallback app menu alone, and its About opens "About Avalonia". This adds a Window menu (Minimize, Zoom, Toggle Full Screen, Bring All to Front, and Kurrent Capacitor ⌘0 to show the main window), a Help menu (the docs, and GitHub releases as the changelog), and About Kurrent Capacitor opening the standard macOS panel. Each window carries its own Window and Help menus, and
AppKitMenusregisters them with AppKit whenever a window becomes key, which is what makes macOS add Move to a display, the tiling items, the window list and the Help search field.Where to look
While no window of ours is key (the main window hidden to the tray, or minimized), Avalonia shows only the app menu, so Window and Help are gone until a window is focused again.
Verification
dotnet run --project test/Capacitor.App.Tests.Unit: 1652 passed, 0 failed.dotnet build src/Capacitor.App --no-incremental: 0 warnings.