Repository navigation
diff: the focus hook answers to either name the engine stamps on its elements - #96953
Merged
Merged
Conversation
poteat
enabled auto-merge (squash)
September 25, 2026 03:10
notitatall
approved these changes
Sep 25, 2026
This was referenced Sep 25, 2026
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.
The mod's
ui.focushook matched the elements it drew through its own name, one constant ({ plugin: Names.PLUGIN_NAME },'diff'). The engine stamps an element with the name the plugin is registered under, and a build that carries this mod registers it ascc-plugin-diff. With a single name in the matcher the hook would stop seeing its own elements there, and silently: the inline file list would no longer follow the focus ring, and nothing would say why.A matcher takes an array as any-of, so the constant is now the two names,
PLUGIN_NAMES = ['diff', 'cc-plugin-diff']. Loaded from this folder (--plugin-dir,claude plugin test) the mod isdiff, as its manifest says, and nothing changes. The addresses the tests press ($.ui.press({ plugin: 'diff', ... })) are resolved against that manifest name, so they stay as they are.Checked:
mods/diff/tests/views.test.ts: a new case, "the walk follows under the name a build registers", raises the same walk with the focus stampedcc-plugin-diffand expects the same recentring. With the matcher put back to the single name, that case is the one that fails (157 pass, 1 fail).claude plugin test mods/diffpasses 158 of 158.