fix(plugins): keep focus on search input in Exported Packages (#36214)#36300
Open
hmoreras wants to merge 3 commits into
Open
fix(plugins): keep focus on search input in Exported Packages (#36214)#36300hmoreras wants to merge 3 commits into
hmoreras wants to merge 3 commits into
Conversation
…kages
The Exported Packages search field was moving focus to the editable
package-list textarea ~500ms after typing (the debounce). Subsequent
keystrokes silently edited the live exported-packages config — a
data-integrity risk since malformed lists break OSGi plugin loading.
`#scrollToMatch` now takes an opt-in `{ focus }` flag. The debounced
search-as-you-type path leaves focus on the search input; only the
explicit ▲/▼ navigation focuses the textarea so the match selection
becomes visible.
Fixes #36214
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Open
4 tasks
Contributor
|
Claude finished @hmoreras's task in 53s —— View job Rollback Safety Analysis
Result: ✅ Safe To RollbackThe changes in this PR are pure frontend Angular fixes with no backend impact. Against every unsafe category in the reference:
Changed files:
All changes are scoped to a single Angular component's TypeScript and test file. No database migrations, Elasticsearch mappings, REST endpoints, OSGi interfaces, or VTL viewtools are touched. Rolling back to the previous release requires no database interaction or reindexing. Label added: AI: Safe To Rollback |
Contributor
🤖 Bedrock Review —
|
- Export SEARCH_DEBOUNCE_MS from the component and import it in the spec so the debounce stays in sync between prod and tests. - Mirror nativeTextarea()'s nullable pattern in searchInput() to surface a clear failure if the testid ever disappears. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
🤖 Bedrock Review —
|
Collapse PACKAGES_TEXT back to a single line — the string fits within Prettier's print width, and the prior commit's wrap caused format-test to fail in CI (run 28064948599). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
🤖 Bedrock Review —
|
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.
Summary
<textarea>~500 ms after typing (the debounce). Any keystrokes after the debounce fired went into the textarea instead of the search box — and the textarea is the live exported-packages config, so unnoticed edits can corrupt it (a known cause of OSGi plugin-load failures).#scrollToMatch()indot-plugins-extra-packages.component.tswas callingtextarea.focus()unconditionally. That call is needed for the explicit ▲/▼ next/prev navigation but not for the search-as-you-type path.{ focus }flag to#scrollToMatch. The debounced typing path now leaves focus on the search input; onlynextMatch()/prevMatch()passfocus: true. The selection range is still set during typing so the match becomes visible the moment the user navigates with ▲/▼.Fixes #36214
Acceptance criteria
Test plan