Repository navigation
Give each owner's panel its own ImGui ID scope [patch] - #524
Merged
Merged
Conversation
CollapsingHeader opens no ID scope, so a repository name shared by two owners (every org's .github) gave both rows the same ImGui ID and a click on the second owner's row was swallowed by the first. Each collapsible panel now pushes its name as an ID around its content. The repository rows are probed by their owner-qualified name, so the UI tests can tell the two rows apart. Fixes #522 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017vfJW5JsJWSEGD7D4Jhs1d
|
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.



ImGui.CollapsingHeaderdoes not open an ID scope. When two owners both have a repository with the same name (every org's.github), their twoSelectablerows got the same ImGui ID. Clicking the second owner's row did nothing, because the first row took the click.Change
ShowCollapsiblePanelnow wraps the panel content inPushID(name)/PopID(). Every panel gets the scope, not only the owner panels, as the triage suggested. Popups opened from inside a panel are opened and shown within that same scope, so they still match (the gallery's Propagate context-menu stage still passes).repo/ktsu-dev..github) instead of the bare name, so a test can tell the two rows apart. The gallery'sSelectRepositoryclicks the new name.GalleryApp.Starthas an overload that takes the settings to run on.Tests
RepoPanelTests.ClickingASharedRepoName_SelectsThatOwnersRepository. It runs two owners that each have.github, clicks each row, and assertsOptions.BaseRepo. It fails without thePushIDand passes with it.ProjectDirector.Test: 178 pass, 1 skipped, 1 failed. The failure isCloningAnLfsRepositoryRestoresTheFileContentRatherThanThePointer, and it fails the same way onmainin this environment, so it is unrelated to this change.Fixes #522
Generated by Claude Code