Skip to content

fix(portal): preserve skill search during selection - #1416

Merged
Cedric Vidal (cedricvidal) merged 4 commits into
microsoft:mainfrom
itsmeasadali:fix/1284-skill-picker-search
Oct 1, 2026
Merged

Cedric Vidal (cedricvidal) merged 4 commits into
microsoft:mainfrom
itsmeasadali:fix/1284-skill-picker-search

Conversation

@itsmeasadali

@itsmeasadali Asad Ali (itsmeasadali) commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • keep the active skill query and results open after each selection so related skills can be selected in one pass
  • constrain the result list to the available viewport space and open it above the input when the picker is near the bottom of a form
  • add focused regression tests, an interactive Storybook scenario, and document the picker behavior

Closes #1284

Demo

skill-picker-search.webm

The focused tests also exercise the near-bottom case, where the scrollable dropdown flips above the input and is constrained to the available viewport height.

Testing

  • pnpm exec vitest run --config apps/portal/vite.config.ts apps/portal/src/components/SkillPicker.test.tsx apps/portal/src/components/SkillImportWizard.test.tsx — 25 passed
  • pnpm --filter portal lint — passed
  • pnpm --filter portal build — passed
  • pnpm --filter portal build-storybook — passed
  • pnpm headers:check — passed
  • broader Portal test run: 451 passed; 6 unrelated Layout/CriteriaFilterBar tests timed out in the local Windows run

Documentation and compatibility

  • updated docs/architecture/skills.md with the multi-select search and viewport behavior
  • no API, CLI, database, dependency, or migration changes

Checklist

  • If Portal features changed, keep CLI capabilities in sync. (No capability change; this fixes Portal picker interaction only.)
  • If Portal components changed, update their Storybook stories.
  • If database changes require a migration, include up() / down() and keep it CosmosDB-compatible. (N/A)
  • If dependencies changed, update the lockfile and regenerate NOTICE / NOTICE-REVIEW.txt with pnpm notice as needed. (N/A)

Keep the active skill query and result list open while users select multiple matching skills. Position the scrollable dropdown within the available viewport space and cover both behaviors with focused tests and a Storybook scenario.

Closes microsoft#1284

Signed-off-by: Asad Ali <asad@ztabs.co>
Signed-off-by: Asad Ali <asad@ztabs.co>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Address dropdown clipping, scroll-update performance, Storybook state isolation, and strengthen constrained-height coverage.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 Medium severity

Open (2)
What changed in this PR

Updates the Portal skill picker for persistent multi-selection search and viewport-aware dropdown placement.

Changes:

  • Preserves search queries and open results after selection.
  • Adds dropdown flipping and height constraints.
  • Adds tests, Storybook coverage, and documentation.
File Summary
docs/​architecture/​skills.md Documents picker behavior.
apps/​portal/​src/​components/​SkillPicker.tsx Implements persistent search and dynamic dropdown layout.
apps/​portal/​src/​components/​SkillPicker.test.tsx Tests selection and dropdown positioning.
apps/​portal/​src/​components/​SkillPicker.stories.tsx Adds interactive multi-select coverage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread apps/portal/src/components/SkillPicker.stories.tsx Outdated
Comment thread apps/portal/src/components/SkillPicker.tsx
Signed-off-by: Asad Ali <asad@ztabs.co>
@itsmeasadali

Copy link
Copy Markdown
Contributor Author

Copilot review

@cedricvidal

Copy link
Copy Markdown
Contributor

Hey Asad Ali (@itsmeasadali), thank you so much for your contribution!

Wassim Chegham (@manekinekko) can I let you look at this PR?

@manekinekko

Copy link
Copy Markdown
Member

Hi Asad Ali (@itsmeasadali) thank you for your contribution. Before we review your changes, can you please review and accept the CLA?

@itsmeasadali

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@cedricvidal
Cedric Vidal (cedricvidal) merged commit 1d0c14d into microsoft:main Oct 1, 2026
16 checks passed
@cedricvidal

Copy link
Copy Markdown
Contributor

Thank you Asad Ali (@itsmeasadali) ! Much easier to use now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: portal Scope web portal, pages, and user-facing components.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Skill search box clears after each selection, forcing repeated typing for skills that share a keyword

4 participants