fix(desktop): mount injected entries in the vertical navigation list - #20
Closed
chengzhiyi wants to merge 1 commit into
Closed
chengzhiyi wants to merge 1 commit into
chengzhiyi wants to merge 1 commit into
Conversation
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.
What changed
Mount the injected Board, Agents, and Projects buttons in the nearest vertical navigation list, alongside native button rows. Preserve the recovery-launcher anchor when present, avoid reordering owned entries during refresh, and regenerate the shared browser bundle.
Why
In Codex Desktop 26.928.31416 on macOS, the Home button is nested inside a horizontal flex row.
ensureDesktopEntries()previously inserted all three entries into the button's immediate parent. They appeared beside Home and expanded the rail from 52px to 160px.Reproduction: enable Better Codex 0.4.18 in this desktop shell, then inspect the left navigation rail. The expected layout is one icon per row. With this fix, the actual desktop rail is 52px wide and the three injected entries share the same x coordinate with separate y positions. Native button styles and the host application files are unchanged.
Verification
npm run buildnpm run verify(includesnpm test): 295 passed, 12 skippedbetter-codex doctoron the isolated source instance: runtime and injection ready, MCP configuredThe two new regression cases cover nested horizontal rows with and without a native recovery launcher, narrow layout, panel navigation, refresh deduplication, and launcher restoration on uninstall. Existing flat-navigation fixtures also pass.
Platform coverage
UI and privacy
Notes for reviewers
This is limited to desktop rail mounting and its regression coverage. Local and Relay Web UI mounting remains unchanged. macOS Intel and Windows have not been manually verified. The tracked generated TypeScript bundle is included as required by the repository's bundle consistency check.