Skip to content

fix(webui): refresh skill suggestions when opening the picker - #5716

Merged
Re-bin merged 2 commits into
mainfrom
codex/fix-live-skill-suggestions
Sep 9, 2026
Merged

fix(webui): refresh skill suggestions when opening the picker#5716
Re-bin merged 2 commits into
mainfrom
codex/fix-live-skill-suggestions

Conversation

@Re-bin

@Re-bin Re-bin commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes NAN-108.

Skills installed by the agent after the page loads can already be invoked by name, but the WebUI picker keeps its previous list. Users should not have to reload the page to discover a newly installed skill.

  • Refresh the shared skill list whenever the $ picker opens, including when the cached list is empty.
  • Keep filtering local while typing. Allow at most one request in flight, and coalesce opens during an older request into one trailing refresh so a pre-installation response cannot swallow the update.
  • Preserve existing suggestions on transient failures and retain protection against stale responses overwriting newer settings updates.
  • Cover post-load discovery, Tab completion, removals, trailing refreshes, listener cleanup, and retries.

No changes to skill installation, availability filtering, backend invocation, persisted data, or public APIs.

Verification

  • Confirmed the initial discovery regression test fails before the fix and passes afterward.
  • Review reproduced a second race: opening the picker during an older request dropped the refresh. The strengthened regression fails on the original PR and passes with the trailing-refresh fix.
  • bun run test src/tests/skills-marketplace.test.tsx src/tests/thread-composer.test.tsx src/tests/app-layout.test.tsx — 161 passed on the updated branch.
  • bun run lint and bun x tsc -p tsconfig.build.json — passed on the updated branch.
  • Initial production build passed; current-head production build is also covered by the WebUI CI job.
  • git diff --check — passed.

Refresh the shared skill list when a dollar-reference picker opens so skills installed by the agent appear without reloading the page. Coalesce in-flight requests and preserve the last known list on transient failures.

Cover post-load discovery, Tab completion, removals, request deduplication, cleanup, and retry behavior with regression tests.
An in-flight response can contain the list captured before a skill was installed. Preserve one trailing refresh for picker opens that arrive during that request instead of silently dropping them, while keeping at most one request active.

Cover stale responses, coalesced trailing refreshes, and unmount cleanup after both success and failure.
@Re-bin
Re-bin force-pushed the codex/fix-live-skill-suggestions branch from 33e857d to 0913308 Compare September 9, 2026 05:34
@Re-bin
Re-bin merged commit 1c451b5 into main Sep 9, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant