fix: make load_public_skills default to true (opt-out)#901
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR #229 flipped shouldLoadPublicSkills() from opt-out (default true) to opt-in (default false) for dev-latency reasons. PR #362 patched the conversation-start path by hardcoding load_public_skills: true, but that fix was inadvertently lost in the #457 refactor which reintroduced shouldLoadPublicSkills() inside the new buildAgentContext() helper. This restores the original opt-out semantics: - shouldLoadPublicSkills() now returns true unless VITE_LOAD_PUBLIC_SKILLS is explicitly set to "false" - .env.sample updated to document the opt-out form - Tests updated to match the new default - AGENTS.md updated (it already said "defaults to true" but the code disagreed — now they agree) Co-authored-by: openhands <openhands@all-hands.dev>
7540267 to
68ad11d
Compare
📸 Snapshot Test ReportWarning Snapshot comparison step crashed (timeout, OOM, or runner error) — diff results below may be incomplete or absent. Warning One or more snapshot tests crashed during generation — some snapshots below may be incomplete. ❌ 7 snapshots differ from the main branch baselines. Add the
🔴 Changed snapshots (7)
|
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
mcp-page — 5 snapshots
mcp-custom-server-1-editor-open
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
mcp-custom-server-editor
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
mcp-empty-installed
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
mcp-search-filtered
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
mcp-slack-install-1-marketplace
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
settings-page
settings-page
| Expected (main) | Actual (PR) | Diff |
|---|---|---|
![]() |
![]() |
![]() |
✅ Unchanged snapshots (66)
archived-conversation
- conversation-panel-with-archived-badges
- conversation-view-archived
- conversation-view-sandbox-error
automations
- automations-delete-modal
- automations-list-active-inactive
- automations-no-automations
- automations-search-no-results
backends-extended
- backend-add-blank-disabled
- backend-add-cloud-advanced-open
- backend-add-cloud-no-key-disabled
- backend-add-cloud-with-key-enabled
- backend-add-form-partially-filled
- backend-add-invalid-url-disabled
- backend-add-local-ready
- backend-add-name-only-disabled
- backend-add-two-column-layout
- backend-add-whitespace-host-disabled
- backend-cancel-nothing-saved
- backend-dropdown-two-backends
- backend-edit-prefilled
- backend-manage-after-removal
- backend-manage-two-listed
- backend-remove-cancelled
- backend-remove-confirmation
- backend-switch-overlay
backends
- backend-add-modal
- backend-manage-modal
- backend-selector-open
changes-tab
- changes-deleted-file
- changes-diff-viewer
- changes-empty
collapsible-thinking
- reasoning-content-collapsed
- reasoning-content-expanded
- think-action-collapsed
- think-action-expanded
mcp-page
- mcp-custom-server-2-url-filled
- mcp-custom-server-3-all-filled
- mcp-custom-server-4-installed
- mcp-slack-install-2-modal
- mcp-slack-install-3-filled
- mcp-slack-install-4-installed
onboarding
- onboarding-step-0-choose-agent
- onboarding-step-1-check-backend
- onboarding-step-2-setup-llm
- onboarding-step-3-say-hello
projects-workspace-browser
- projects-workspace-browser
settings-page
- add-backend-modal
- analytics-consent-modal
- home-screen
- settings-app-page
settings-secrets
- secrets-add-form-filled
- secrets-add-form
- secrets-after-save
- secrets-delete-confirm
- secrets-list
settings-verification
- condenser-settings
- verification-settings-off
- verification-settings-on
sidebar
- sidebar-collapsed
- sidebar-conversation-panel
- sidebar-filter-menu
skills-page
- skills-empty
- skills-loaded
- skills-no-match
- skills-search-filtered
- skills-type-filter
Generated by the Snapshot Tests workflow. This comment was created by an AI agent (OpenHands) on behalf of the repo maintainers.





















Problem
Public skills (including
github-repo-monitorandslack-channel-monitorpublished inOpenHands/extensions) are not being loaded into new conversations, so slash commands like/github-repo-monitorhave no skill context to guide them.Root cause — a three-PR chain
shouldLoadPublicSkills()from opt-out (!== "false", default true) to opt-in (=== "true", default false) — public skills stopped loadingcreateAgentFromSettingsby hardcodingload_public_skills: true— fixedcreateAgentFromSettingswithbuildAgentContext, reintroducingshouldLoadPublicSkills()— silently broke it againFix
Restore the original opt-out semantics in
shouldLoadPublicSkills():This means
buildAgentContext()(and therefore every new conversation) will carryload_public_skills: trueunless the operator explicitly setsVITE_LOAD_PUBLIC_SKILLS=false(e.g. to save startup latency in CI or restricted envs).Files changed
src/api/agent-server-config.ts— flip the predicate and update JSDoc.env.sample— document the opt-out form of the flag__tests__/api/agent-server-config.test.ts— update three tests to match new defaultAGENTS.md— add "(opt-out)" clarifier (the doc already said "defaults to true" but the code disagreed)This PR was created by an AI agent (OpenHands) on behalf of the user.
🐳 Docker images for this PR
• GHCR package: https://github.com/OpenHands/agent-canvas/pkgs/container/agent-canvas
ghcr.io/openhands/agent-canvasghcr.io/openhands/agent-server:1.24.0-pythonopenhands-automation==1.0.0a568ad11dcafd4743da9078e88aea763c2c970dc80Pull (multi-arch manifest)
# Multi-arch manifest — Docker automatically pulls the correct architecture docker pull ghcr.io/openhands/agent-canvas:sha-68ad11dRun
All tags pushed for this build
About Multi-Architecture Support
sha-68ad11d) is a multi-arch manifest supporting both amd64 and arm64sha-68ad11d-amd64) are also available if needed