Agentic UI: Add app menu button - #4172
Merged
Merged
Conversation
…studio into stu-2031-linux-settings-menu
Collaborator
📊 Performance Test ResultsComparing 02f4b87 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
1 task
katinthehatsite
pushed a commit
that referenced
this pull request
Jul 16, 2026
## Related issues - Fixes STU-2052 ## How AI was used in this PR Root-cause investigation, the fix, and the component test were written with Claude Code, guided and reviewed by the author. ## Proposed Changes #4172 added an app menu (hamburger) button to the agentic UI sidebar so Windows and Linux users can reach the app menu — those platforms have no native menu bar in production. The button rendered unconditionally, so it also appeared on macOS, duplicating the native application menu (p1784109157531499/1784109157.531499-slack-C06DRMD6VPZ), and in the browser-hosted UI (`studio ui`), where it did nothing. The connector now declares whether the host needs an in-UI app menu entry point, and the sidebar only shows the button when it does: Windows/Linux desktop keeps it, macOS and the browser don't. | Windows | macOS | |--------|--------| | <img width="1360" height="1032" alt="image" src="https://github.com/user-attachments/assets/3f29fd8a-c3af-4389-95e2-2ed8b7b8d4e2" /> | <img width="1260" height="984" alt="image" src="https://github.com/user-attachments/assets/7cd7b10c-0292-4f8d-b3a4-5d6a125b376f" /> | ## Testing Instructions - On macOS, launch Studio with the Agentic UI beta feature enabled → the sidebar header shows **no** hamburger menu button, and the native application menu bar works as before. - On Windows or Linux, same setup → the hamburger button is present at the top of the sidebar and opens the app menu (unchanged from #4172). - Run `studio ui` in a browser → no hamburger button. - Legacy (non-agentic) UI is untouched. ## Pre-merge Checklist - [x] Have you checked for TypeScript, React or other console errors? 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Related issues
How AI was used in this PR
AI helped trace how the legacy renderer opens the native app menu, find the equivalent seam in the agentic UI (the connector), and draft the change. I reviewed the code and checked the behavior in the running Linux app.
Proposed Changes
The agentic UI had no way to reach the primary app menu (Settings, Add Site, Check for Updates, and so on). The legacy renderer exposes it through the titlebar hamburger, but the agentic UI has its own layout and offered no equivalent, so those actions, including Settings, were unreachable.
This adds a menu button to the agentic UI sidebar header that opens the same native app menu, so the primary menu is available there too.
Testing Instructions
Pre-merge Checklist