[Dashboard] Remove mSearch from content management#210709
Merged
nickpeihl merged 9 commits intoelastic:mainfrom Mar 3, 2025
Merged
[Dashboard] Remove mSearch from content management#210709nickpeihl merged 9 commits intoelastic:mainfrom
nickpeihl merged 9 commits intoelastic:mainfrom
Conversation
Contributor
|
Pinging @elastic/kibana-presentation (Team:Presentation) |
Dosant
approved these changes
Feb 12, 2025
nreese
approved these changes
Feb 13, 2025
Contributor
nreese
left a comment
There was a problem hiding this comment.
kibana-presentation changes LGTM
code review and tested in chrome
Contributor
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Async chunks
History
|
CAWilson94
pushed a commit
to CAWilson94/kibana
that referenced
this pull request
Mar 22, 2025
## Summary Removes the mSearch method from Dashboard content management. The `mSearch` content management method was designed to be a temporary implementation of search that allowed searching multiple saved object types ([see more [internal]](https://docs.google.com/document/d/1ssYmqSEUPrsuCR4iz8DohkEWekoYrm2yL4QR_fVxXLg/edit?tab=t.0#heading=h.6sj4n6bjcgp5)). However, the mSearch implementation in the Dashboard Storage class lacks extensibility as it requires a synchronous `toItemResult` function. As we start migrating reference handling to the server, we will likely need transforms that return Promises (ex. `savedObjectToItem`), such as [retrieving tag saved objects from the SavedObjectTagging client](elastic#210619). The Dashboard `mSearch` method was only used by the dashboard_picker and this PR replaces its usage with the `search` method. ### Identify risks There is a slight risk in serverless environments where a browser may have already loaded the dashboard_picker module but lags behind the server. In this case, the dashboard picker may fail to retrieve a list of dashboards due to it calling the now non-existent `mSearch` method provided by the server. In this case, the user simply needs to refresh their browser to retrieve the latest UI modules.
4 tasks
Contributor
Author
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
nickpeihl
added a commit
to nickpeihl/kibana
that referenced
this pull request
Apr 8, 2025
## Summary Removes the mSearch method from Dashboard content management. The `mSearch` content management method was designed to be a temporary implementation of search that allowed searching multiple saved object types ([see more [internal]](https://docs.google.com/document/d/1ssYmqSEUPrsuCR4iz8DohkEWekoYrm2yL4QR_fVxXLg/edit?tab=t.0#heading=h.6sj4n6bjcgp5)). However, the mSearch implementation in the Dashboard Storage class lacks extensibility as it requires a synchronous `toItemResult` function. As we start migrating reference handling to the server, we will likely need transforms that return Promises (ex. `savedObjectToItem`), such as [retrieving tag saved objects from the SavedObjectTagging client](elastic#210619). The Dashboard `mSearch` method was only used by the dashboard_picker and this PR replaces its usage with the `search` method. ### Identify risks There is a slight risk in serverless environments where a browser may have already loaded the dashboard_picker module but lags behind the server. In this case, the dashboard picker may fail to retrieve a list of dashboards due to it calling the now non-existent `mSearch` method provided by the server. In this case, the user simply needs to refresh their browser to retrieve the latest UI modules. (cherry picked from commit 2a7e38b)
Contributor
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
nickpeihl
added a commit
that referenced
this pull request
Apr 9, 2025
…217561) # Backport This will backport the following commits from `main` to `8.x`: - [[Dashboard] Remove mSearch from content management (#210709)](#210709) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Nick Peihl","email":"nick.peihl@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T16:31:09Z","message":"[Dashboard] Remove mSearch from content management (#210709)\n\n## Summary\n\nRemoves the mSearch method from Dashboard content management.\n\nThe `mSearch` content management method was designed to be a temporary\nimplementation of search that allowed searching multiple saved object\ntypes ([see more\n[internal]](https://docs.google.com/document/d/1ssYmqSEUPrsuCR4iz8DohkEWekoYrm2yL4QR_fVxXLg/edit?tab=t.0#heading=h.6sj4n6bjcgp5)).\nHowever, the mSearch implementation in the Dashboard Storage class lacks\nextensibility as it requires a synchronous `toItemResult` function. As\nwe start migrating reference handling to the server, we will likely need\ntransforms that return Promises (ex. `savedObjectToItem`), such as\n[retrieving tag saved objects from the SavedObjectTagging\nclient](https://github.com/elastic/kibana/issues/210619).\n\nThe Dashboard `mSearch` method was only used by the dashboard_picker and\nthis PR replaces its usage with the `search` method.\n\n### Identify risks\n\nThere is a slight risk in serverless environments where a browser may\nhave already loaded the dashboard_picker module but lags behind the\nserver. In this case, the dashboard picker may fail to retrieve a list\nof dashboards due to it calling the now non-existent `mSearch` method\nprovided by the server. In this case, the user simply needs to refresh\ntheir browser to retrieve the latest UI modules.","sha":"2a7e38b0fc3c33921f5a29f427bc3a6de8809c67","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Presentation","release_note:skip","backport:version","v9.1.0","v8.19.0"],"title":"[Dashboard] Remove mSearch from content management","number":210709,"url":"https://github.com/elastic/kibana/pull/210709","mergeCommit":{"message":"[Dashboard] Remove mSearch from content management (#210709)\n\n## Summary\n\nRemoves the mSearch method from Dashboard content management.\n\nThe `mSearch` content management method was designed to be a temporary\nimplementation of search that allowed searching multiple saved object\ntypes ([see more\n[internal]](https://docs.google.com/document/d/1ssYmqSEUPrsuCR4iz8DohkEWekoYrm2yL4QR_fVxXLg/edit?tab=t.0#heading=h.6sj4n6bjcgp5)).\nHowever, the mSearch implementation in the Dashboard Storage class lacks\nextensibility as it requires a synchronous `toItemResult` function. As\nwe start migrating reference handling to the server, we will likely need\ntransforms that return Promises (ex. `savedObjectToItem`), such as\n[retrieving tag saved objects from the SavedObjectTagging\nclient](https://github.com/elastic/kibana/issues/210619).\n\nThe Dashboard `mSearch` method was only used by the dashboard_picker and\nthis PR replaces its usage with the `search` method.\n\n### Identify risks\n\nThere is a slight risk in serverless environments where a browser may\nhave already loaded the dashboard_picker module but lags behind the\nserver. In this case, the dashboard picker may fail to retrieve a list\nof dashboards due to it calling the now non-existent `mSearch` method\nprovided by the server. In this case, the user simply needs to refresh\ntheir browser to retrieve the latest UI modules.","sha":"2a7e38b0fc3c33921f5a29f427bc3a6de8809c67"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/210709","number":210709,"mergeCommit":{"message":"[Dashboard] Remove mSearch from content management (#210709)\n\n## Summary\n\nRemoves the mSearch method from Dashboard content management.\n\nThe `mSearch` content management method was designed to be a temporary\nimplementation of search that allowed searching multiple saved object\ntypes ([see more\n[internal]](https://docs.google.com/document/d/1ssYmqSEUPrsuCR4iz8DohkEWekoYrm2yL4QR_fVxXLg/edit?tab=t.0#heading=h.6sj4n6bjcgp5)).\nHowever, the mSearch implementation in the Dashboard Storage class lacks\nextensibility as it requires a synchronous `toItemResult` function. As\nwe start migrating reference handling to the server, we will likely need\ntransforms that return Promises (ex. `savedObjectToItem`), such as\n[retrieving tag saved objects from the SavedObjectTagging\nclient](https://github.com/elastic/kibana/issues/210619).\n\nThe Dashboard `mSearch` method was only used by the dashboard_picker and\nthis PR replaces its usage with the `search` method.\n\n### Identify risks\n\nThere is a slight risk in serverless environments where a browser may\nhave already loaded the dashboard_picker module but lags behind the\nserver. In this case, the dashboard picker may fail to retrieve a list\nof dashboards due to it calling the now non-existent `mSearch` method\nprovided by the server. In this case, the user simply needs to refresh\ntheir browser to retrieve the latest UI modules.","sha":"2a7e38b0fc3c33921f5a29f427bc3a6de8809c67"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the mSearch method from Dashboard content management.
The
mSearchcontent management method was designed to be a temporary implementation of search that allowed searching multiple saved object types (see more [internal]). However, the mSearch implementation in the Dashboard Storage class lacks extensibility as it requires a synchronoustoItemResultfunction. As we start migrating reference handling to the server, we will likely need transforms that return Promises (ex.savedObjectToItem), such as retrieving tag saved objects from the SavedObjectTagging client.The Dashboard
mSearchmethod was only used by the dashboard_picker and this PR replaces its usage with thesearchmethod.Identify risks
There is a slight risk in serverless environments where a browser may have already loaded the dashboard_picker module but lags behind the server. In this case, the dashboard picker may fail to retrieve a list of dashboards due to it calling the now non-existent
mSearchmethod provided by the server. In this case, the user simply needs to refresh their browser to retrieve the latest UI modules.