Skip to content

[AI Infra] GenAI Settings: Reflect selected AI Assistants Visibility value from header selector on the Settings page#239555

Merged
rbrtj merged 5 commits intoelastic:mainfrom
rbrtj:ai-assistant-management-use-new-settings-client
Oct 23, 2025
Merged

[AI Infra] GenAI Settings: Reflect selected AI Assistants Visibility value from header selector on the Settings page#239555
rbrtj merged 5 commits intoelastic:mainfrom
rbrtj:ai-assistant-management-use-new-settings-client

Conversation

@rbrtj
Copy link
Contributor

@rbrtj rbrtj commented Oct 17, 2025

Resolves #236804
The ai_assistant_management plugin was using the old coreStart.uiSettings client, while the GenAI Settings plugin uses the newer coreStart.settings.client. This mismatch prevented them from syncing properly.

After:

Screen.Recording.2025-10-17.at.14.52.30.mov
@rbrtj rbrtj self-assigned this Oct 17, 2025
@rbrtj rbrtj added release_note:fix :ml backport:skip This PR does not require backporting Team:ML Team label for ML (also use :ml) t// Team:AI Infra Platform AppEx AI Infrastructure Team t// v9.3.0 labels Oct 17, 2025
@rbrtj rbrtj requested a review from Copilot October 17, 2025 13:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes a synchronization issue between the AI Assistant Management plugin and GenAI Settings plugin by standardizing both to use the newer coreStart.settings.client API instead of the deprecated coreStart.uiSettings. The change ensures that the AI Assistants Visibility value selected in the header reflects properly on the Settings page.

Key changes:

  • Updated AI Assistant Management plugin to use the newer settings client API for consistency
  • Added real-time subscription to settings changes in GenAI Settings context
  • Updated all related tests to mock the new settings client structure

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
x-pack/platform/plugins/private/gen_ai_settings/public/contexts/settings_context.tsx Added real-time subscription to settings changes using the settings client's update stream
src/platform/plugins/shared/ai_assistant_management/selection/public/plugin.tsx Migrated from coreStart.uiSettings to coreStart.settings.client for getting and observing settings
src/platform/plugins/shared/ai_assistant_management/selection/public/plugin.test.ts Updated test mocks to reflect the new settings client structure
src/platform/plugins/shared/ai_assistant_management/selection/public/hooks/use_is_nav_control_visible.tsx Updated to use settings client for observing and checking default values
src/platform/plugins/shared/ai_assistant_management/selection/public/components/navigation_control/index.tsx Changed setting update to use async settings client method
@rbrtj rbrtj marked this pull request as ready for review October 17, 2025 13:10
@rbrtj rbrtj requested review from a team as code owners October 17, 2025 13:10
@elasticmachine
Copy link
Contributor

Pinging @elastic/ml-ui (:ml)

@elasticmachine
Copy link
Contributor

Pinging @elastic/appex-ai-infra (Team:AI Infra)

Copy link
Member

@qn895 qn895 left a comment

Choose a reason for hiding this comment

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

LGTM 🎉

@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Oct 17, 2025
@github-actions
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@rbrtj rbrtj requested a review from a team as a code owner October 21, 2025 10:13
@elasticmachine
Copy link
Contributor

elasticmachine commented Oct 22, 2025

💛 Build succeeded, but was flaky

  • Buildkite Build
  • Commit: 1877bd3
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-239555-1877bd36b2cf

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
aiAssistantManagementSelection 85.0KB 85.0KB +14.0B
genAiSettings 45.3KB 45.5KB +240.0B
total +254.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
aiAssistantManagementSelection 9.0KB 9.0KB +25.0B

History

cc @rbrtj

@rbrtj rbrtj merged commit 0bbe221 into elastic:main Oct 23, 2025
12 checks passed
walterra pushed a commit to walterra/kibana that referenced this pull request Oct 23, 2025
…` value from header selector on the Settings page (elastic#239555)

Resolves elastic#236804
The `ai_assistant_management` plugin was using the old
`coreStart.uiSettings` client, while the `GenAI Settings` plugin uses
the newer `coreStart.settings.client`. This mismatch prevented them from
syncing properly.

After:


https://github.com/user-attachments/assets/28e3520e-2f59-4976-b0fa-83e0d32cff3b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:project-deploy-observability Create an Observability project :ml release_note:fix Team:AI Infra Platform AppEx AI Infrastructure Team t// Team:ML Team label for ML (also use :ml) t// v9.3.0

6 participants