Skip to content

Conversation

@arturoliduena
Copy link
Contributor

@arturoliduena arturoliduena commented Jul 28, 2025

Closes #229460

Summary

When a user clicks the "Install" or "Uninstall" button for product documentation, add visual feedback in the UI (a spinner) to indicate that an action is in progress.

Steps to Reproduce

Navigate Observability AI Assistant settings page

see that Elastic documentation is not yet installed.

Click the Install button.

Observe that the button shows no loading state.

(Similarly, for an installed package, click Uninstall and observe the same lack of feedback).

Expected Behavior
After clicking "Install" or "Uninstall", the button should immediately enter a loading state.

Screen.Recording.2025-08-05.at.16.21.12.mov
Screen.Recording.2025-08-05.at.16.22.08.mov
Screen.Recording.2025-08-05.at.16.23.07.mov

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

@arturoliduena arturoliduena requested a review from a team as a code owner July 28, 2025 08:50
@arturoliduena arturoliduena added Team:Obs AI Assistant Observability AI Assistant backport:version Backport to applied version labels v9.1.0 v8.19.0 labels Jul 28, 2025
@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Jul 28, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/obs-ai-assistant (Team:Obs AI Assistant)

@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!)

* @param inferenceId - The ID of the inference for which to get the product documentation status.
* @returns An object containing the status of the product documentation, loading state, and methods to install and uninstall the product documentation.
*/
export type ProductDocStatus = InstallationStatus | 'uninstalling';
Copy link
Contributor Author

Choose a reason for hiding this comment

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

extend InstallationStatus status:

type InstallationStatus = 'installed' | 'uninstalled' | 'installing' | 'error';

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we not extend the InstallationStatus itself, instead of creating a new type? I think "uninstalling" would make sense to be a status option with the InstallationStatus enum.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The @kbn/product-doc-base-plugin doesn't include uninstalling as a status; we can add similar logic as the installing status, saving the state in the saved_object.
reference:


I don't know if it's worth doing.
cc: @pgayvallet @qn895

Copy link
Contributor

Choose a reason for hiding this comment

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

I think that would make sense to add and update the SO.

Copy link
Member

Choose a reason for hiding this comment

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

Sure, I think it's fine to add uninstalling to state of the saved_object and original type.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

added on this commit: 5536f1e

Comment on lines 49 to 54
if (isInstalling) {
return 'installing';
}
if (isUninstalling) {
return 'uninstalling';
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

When /internal/product_doc_base/install or /internal/product_doc_base/uninstall requests are loading, return installing or uninstalling respectively; otherwise, the /internal/product_doc_base/status response.

@eleonoramicozzi
Copy link
Contributor

Hey @arturoliduena , I checked out the PR. The loading indicator looks good, but there seems to be a glitch with the states. When the install/uninstall process is finished, the state goes back to how it was before for a few seconds, before syncing to the new state. For example, it you're uninstalling, after the uninstall process is done, the button will appear that says "Uninstall", and after a few seconds it syncs to say "Install" instead.

I've taken some screen recordings to show.

Screen.Recording.2025-07-28.at.12.37.10.mov
Screen.Recording.2025-07-28.at.12.44.10.mov

@arturoliduena
Copy link
Contributor Author

Hey @arturoliduena , I checked out the PR. The loading indicator looks good, but there seems to be a glitch with the states. When the install/uninstall process is finished, the state goes back to how it was before for a few seconds, before syncing to the new state. For example, it you're uninstalling, after the uninstall process is done, the button will appear that says "Uninstall", and after a few seconds it syncs to say "Install" instead.

@eleonoramicozzi, great catch, I have fixed it, adding isRefetching for waiting for the new state to change.

@arturoliduena arturoliduena requested a review from a team as a code owner July 30, 2025 15:26
@eleonoramicozzi
Copy link
Contributor

Hi Arturo, the code looks good to me. I did some testing: the install flow looks good to me, but while testing the uninstall flow, I noticed that after the uninstall is finished, we still show the "Installed" text with a loading button next to it, and then it switches to the "Install" button like it should. Is there any way we can fix that to just show the loading state after uninstall? I am adding a screen recording.

Screen.Recording.2025-07-31.at.13.10.19.mov

@arturoliduena arturoliduena force-pushed the obs-ai-assistant-229460-loading-state-installing-uninstalling-product-doc branch from ab88a76 to e30b7d4 Compare August 3, 2025 15:28
@arturoliduena arturoliduena force-pushed the obs-ai-assistant-229460-loading-state-installing-uninstalling-product-doc branch from 3f6d907 to 0bd75bf Compare August 4, 2025 08:27
@arturoliduena
Copy link
Contributor Author

Hi Arturo, the code looks good to me. I did some testing: the install flow looks good to me, but while testing the uninstall flow, I noticed that after the uninstall is finished, we still show the "Installed" text with a loading button next to it, and then it switches to the "Install" button like it should. Is there any way we can fix that to just show the loading state after uninstall? I am adding a screen recording.

thanks, @eleonoramicozzi, I added a fix on this commit 1cb21a0, could you test it again?

@elasticmachine
Copy link
Contributor

elasticmachine commented Aug 4, 2025

💚 Build Succeeded

  • Buildkite Build
  • Commit: 0bd75bf
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-229579-0bd75bf9936d

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
observabilityAiAssistantManagement 98.6KB 99.3KB +789.0B

Page load bundle

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

id before after diff
observabilityAiAssistantManagement 5.7KB 5.7KB -4.0B

History

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.

Tested and AI Infra changes LGTM

@eleonoramicozzi
Copy link
Contributor

Hi Arturo, the code looks good to me. I did some testing: the install flow looks good to me, but while testing the uninstall flow, I noticed that after the uninstall is finished, we still show the "Installed" text with a loading button next to it, and then it switches to the "Install" button like it should. Is there any way we can fix that to just show the loading state after uninstall? I am adding a screen recording.

thanks, @eleonoramicozzi, I added a fix on this commit 1cb21a0, could you test it again?

@arturoliduena, I've tested it and the behaviour is as expected now, thank you! Approved :)

@arturoliduena arturoliduena merged commit 8e9fabe into elastic:main Aug 5, 2025
12 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.19, 9.1

https://github.com/elastic/kibana/actions/runs/16753972133

arturoliduena added a commit to arturoliduena/kibana that referenced this pull request Aug 5, 2025
Closes [elastic#229460](elastic#229460)
## Summary

When a user clicks the "Install" or "Uninstall" button for product
documentation, add visual feedback in the UI (a spinner) to indicate
that an action is in progress.

### Steps to Reproduce
Navigate Observability AI Assistant settings page

see that Elastic documentation is not yet installed.

Click the Install button.

Observe that the button shows no loading state.

(Similarly, for an installed package, click Uninstall and observe the
same lack of feedback).

Expected Behavior
After clicking "Install" or "Uninstall", the button should immediately
enter a loading state.

https://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf

https://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f

https://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)

(cherry picked from commit 8e9fabe)

# Conflicts:
#	x-pack/platform/plugins/private/observability_ai_assistant_management/public/hooks/use_get_product_doc.ts
@arturoliduena
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
9.1
8.19

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

arturoliduena added a commit to arturoliduena/kibana that referenced this pull request Aug 5, 2025
Closes [elastic#229460](elastic#229460)
## Summary

When a user clicks the "Install" or "Uninstall" button for product
documentation, add visual feedback in the UI (a spinner) to indicate
that an action is in progress.

### Steps to Reproduce
Navigate Observability AI Assistant settings page

see that Elastic documentation is not yet installed.

Click the Install button.

Observe that the button shows no loading state.

(Similarly, for an installed package, click Uninstall and observe the
same lack of feedback).

Expected Behavior
After clicking "Install" or "Uninstall", the button should immediately
enter a loading state.

https://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf

https://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f

https://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)

(cherry picked from commit 8e9fabe)

# Conflicts:
#	x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_get_product_doc.ts
#	x-pack/solutions/observability/plugins/observability_ai_assistant_management/public/hooks/use_product_doc.ts
arturoliduena added a commit that referenced this pull request Aug 5, 2025
)

# Backport

This will backport the following commits from `main` to `9.1`:
- [add loading state install/uninstall product doc
(#229579)](#229579)

<!--- Backport version: 10.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Arturo
Lidueña","email":"arturo.liduena@elastic.co"},"sourceCommit":{"committedDate":"2025-08-05T15:06:20Z","message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Obs
AI
Assistant","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0","v9.2.0"],"title":"add
loading state install/uninstall product
doc","number":229579,"url":"https://github.com/elastic/kibana/pull/229579","mergeCommit":{"message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404"}},"sourceBranch":"main","suggestedTargetBranches":["9.1","8.19"],"targetPullRequestStates":[{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/229579","number":229579,"mergeCommit":{"message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404"}}]}]
BACKPORT-->
arturoliduena added a commit that referenced this pull request Aug 5, 2025
…0619)

# Backport

This will backport the following commits from `main` to `8.19`:
- [add loading state install/uninstall product doc
(#229579)](#229579)

<!--- Backport version: 10.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Arturo
Lidueña","email":"arturo.liduena@elastic.co"},"sourceCommit":{"committedDate":"2025-08-05T15:06:20Z","message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Obs
AI
Assistant","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0","v9.2.0"],"title":"add
loading state install/uninstall product
doc","number":229579,"url":"https://github.com/elastic/kibana/pull/229579","mergeCommit":{"message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404"}},"sourceBranch":"main","suggestedTargetBranches":["9.1","8.19"],"targetPullRequestStates":[{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/229579","number":229579,"mergeCommit":{"message":"add
loading state install/uninstall product doc (#229579)\n\nCloses
[#229460](https://github.com/elastic/kibana/issues/229460)\n##
Summary\n\nWhen a user clicks the \"Install\" or \"Uninstall\" button
for product\ndocumentation, add visual feedback in the UI (a spinner) to
indicate\nthat an action is in progress.\n\n### Steps to
Reproduce\nNavigate Observability AI Assistant settings page\n\nsee that
Elastic documentation is not yet installed.\n\nClick the Install
button.\n\nObserve that the button shows no loading
state.\n\n(Similarly, for an installed package, click Uninstall and
observe the\nsame lack of feedback).\n\nExpected Behavior\nAfter
clicking \"Install\" or \"Uninstall\", the button should
immediately\nenter a loading
state.\n\n\nhttps://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf\n\n\n\nhttps://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f\n\n\n\nhttps://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)","sha":"8e9fabeabf702c552f65edd0dadba20598416404"}}]}]
BACKPORT-->
delanni pushed a commit to delanni/kibana that referenced this pull request Aug 5, 2025
Closes [elastic#229460](elastic#229460)
## Summary

When a user clicks the "Install" or "Uninstall" button for product
documentation, add visual feedback in the UI (a spinner) to indicate
that an action is in progress.

### Steps to Reproduce
Navigate Observability AI Assistant settings page

see that Elastic documentation is not yet installed.

Click the Install button.

Observe that the button shows no loading state.

(Similarly, for an installed package, click Uninstall and observe the
same lack of feedback).

Expected Behavior
After clicking "Install" or "Uninstall", the button should immediately
enter a loading state.


https://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf



https://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f



https://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
@wildemat wildemat mentioned this pull request Aug 7, 2025
10 tasks
NicholasPeretti pushed a commit to NicholasPeretti/kibana that referenced this pull request Aug 18, 2025
Closes [elastic#229460](elastic#229460)
## Summary

When a user clicks the "Install" or "Uninstall" button for product
documentation, add visual feedback in the UI (a spinner) to indicate
that an action is in progress.

### Steps to Reproduce
Navigate Observability AI Assistant settings page

see that Elastic documentation is not yet installed.

Click the Install button.

Observe that the button shows no loading state.

(Similarly, for an installed package, click Uninstall and observe the
same lack of feedback).

Expected Behavior
After clicking "Install" or "Uninstall", the button should immediately
enter a loading state.


https://github.com/user-attachments/assets/9e9f8fef-bf18-4a6a-96af-c514dae4ffdf



https://github.com/user-attachments/assets/1c36d617-0def-4a6d-af04-bb9ef52c624f



https://github.com/user-attachments/assets/8053cf33-cc69-4d1d-8779-23a361266576



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels ci:project-deploy-observability Create an Observability project release_note:fix Team:Obs AI Assistant Observability AI Assistant v8.19.2 v9.1.0 v9.1.1 v9.2.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Obs AI Assistant] No loading indicator when installing/uninstalling product documentation

7 participants