* move and migrate uuid code to new platform
* create and wire uuid service
* handle legacy compatibility
* update generated docs
* add `set` to LegacyConfig interface
* Fix types
* fix config access
* respect naming conventions for uuid
* remove hardcoded config paths
* rename manageInstanceUuid to resolveInstanceUuid
* moves legacy config uuid set from uuid to legacy service
* log specific message depending on how uuid was resolved
* resolve merge conflicts
* use fs.promises
* add forgotten @public in uuid contract
* add explicit errors and tests
* ensure uuid is valid in configuration
* fix read/write tests
* implements 'rename' and 'unset' deprecations
* introduce usage of ConfigDeprecationProvider
* adapt RawConfigService to only returns unmodified raw config
* apply deprecations when accessing config
* register legacy plugin deprecation in new platform
* implements ConfigService#validate
* add exemple config deprecation usage in testbed
* documentation
* export public config deprecation types
* fix new test due to rebase
* name ConfigDeprecationFactory
* update generated doc
* add tests for unset and move it to src/core/utils
* add tests for renameFromRoot and unusedFromRoot
* cast paths as any as get expects a fixed-length string array
* use specific logger for deprecations
* add additional test on renameFromRoot
* update migration guide
* migrate core deprecations to NP
* add integration test
* use same log context as legacy
* remove old deprecation warnings integration tests, now covered in NP
* migrates csp deprecation to NP
* removes deprecationWarningMixin from legacy
* remove legacy core deprecations
* remove unused import
* rename setupConfigSchemas to setupCoreConfig
* update generated doc
* [NP] Expose global config to the plugins
* globalConfig in Plugin context: expose read-only methods only
* SharedGlobalConfig rework + Moving pkg, fromRoot & path utils from legacy to NP
* Updated API docs
* Fix test references to the moved utils
* Replace zip with combineLatest
* Change tests to describe/it + remove "(deprecated)" from the test description
* Moving path files to a folder + exposing the config path in the contract
* deepFreeze the globalConfig in the pluginContext
* Fix types in tests with new path.config
* Move fromRoot and package_json utils to core/server/utils
* Rename globalConfig to legacy.globalConfig$
* path.config renamed to path.configDir (not renaming path.data because it might be a breaking change)
* Change configDir in mocker as well
* Fix test after config renamed to configDir
* Fix API docs conflicts
* Rename the path properties when exposing them
* path.configDir removed from the path config-schema
* Remove path.configDir. It is already in env.configs
* Add Migration documentation and examples
* Fix 'kibana/server' imports in the MIGRATION docs
* create service skeleton
* move registerCapabilitiesModifier to capabilities service and rename to registerCapabilitiesSwitcher
* starts to move capabilities logic to CapabilitiesService
* move capabilities route to service
* add initial integration test for capabilities route
* capabilitiesMixin now delegates to capability service
* use server-side Capabilities import in server code
* update generated doc
* remove capabilities from injectedMetadatas
* use applications sent from client instead of server-registered navLinks
* disable authRequired for capabilities route
* (temp) exposes two endpoints for capabilities
* Add fetch-mock on capabilities call for karma tests
* adapt xpack Capabilities test - first attempt
* adapt x-pack ui_capabilities test
* add '/status' to the list of anonymous pages
* Add documentation on Capabilities APIs
* move Capabilities to core/types
* update generated docs
* add service tests
* protecting resolveCapabilities against added/removed capabilities
* update generated docs
* adapt mocks due to rebase
* add forgotten exports
* improve capabilities routes registering
* name capabilities registering methods
* resolve conflicts due to merge
* address review issues
* add comment about reason for exposing two routes
* extract createHttpServer test helper
* fix merge conflicts
* improve documentation
* remove `/status` anon registration as now done in NP status plugin
* fix merge conflicts
* introduce IUiSettingsClient on the client
* switch uiSettings service to IUiSettingsClient
* update uiSettings service tests
* all plugins should use IUiSettingsClient
* stop is not public methods anymore
* remove savedobject attribute type references
* regen docs
* remove all references to UiSettingsClient class
* regen docs
* add migration example for uiSettings
* update consumer types and tests
* address comments
* Allow routes to define some payload config values
* Documentation typo
* Move hapi `payload` config under `body` + additional validations
* Update API docs
* Amend explanation in API docs
* Add stream and buffer types to @kbn/config-schema
* Fixes based on PR feedback:
- Add 'patch' and 'options' to valid RouteMethod
- Add tests for all the new flags
- Allow `stream` and `buffer` schema in the body validations (findings from tests)
* API documentation update
* Fix type definitions
* Fix the NITs in the PR comments + better typing inheritance
* API docs update
* Fix APM-legacy wrapper's types
* Fix KibanaRequest.from type exposure of hapi in API docs
* Move RouterRoute interface back to private + Expose some public docs
* Update @kbn/config-schema docs
* introduce PluginConfigDescriptor type
* inject client plugin configs in injectedMetadata
* expose client config in PluginInitializerContext
* add example implementation in testbed
* update generated doc
* only generates ui config entry for plugins exposing properties to client
* separate plugin configs from plugins
* restructure plugin services tests
* fix test/mocks due to plugin configs api changes
* add unit tests
* update migration guide
* update tsdoc
* fix typecheck
* use sync getter for config on client side instead of observable
* change type of exposeToBrowser prop
* updates generated doc
* fix doc and address nits
* Update help menu util to allow common types of links
- Github, Docs, and custom
* Fix test?
* Updating API docs?
* Quick layout fix
* Kibana core apps updated (Visualize, Dashboard, Discover)
* Updated Canvas usage
* Updated Maps usage
* Added a `discuss` link type
* Updated Logs and Metrics usage
* Update APM usage
* Update Uptime usage
* Update SIEM usage
* Removing old Uptime file
* Update Lens usage
* Update API doc
* [Uptime] Remove test for file that no longer exists
* One more snap and i18n tokens
* PR feedback
- Wrap feedbackText in method
- Use `rel: noopener` on external links
- Rename HeaderHelpMenuUIExtraLink -> ChromeHelpExtensionMenuExtraLink and export
* [APM] Use ‘custom’ style link for Upgrade assistant
* API docs
* i18n
* Fix link
* Documented ChromeHelpExtension props
* Use heading levels
* Update names of props, document prop, and update API docs
* Remove `ae-missing-release-tag` warnings
* add reactMount util to kibana_react
(kibana-react) properly export reactMount
* add MountPoint types and utility
* adapt toast API to no longer accept react elements
(toast API) properly export new Toast type
* adapt calls by using reactMount
createNotifications: do not wrap if text
* update generated doc
* add custom snapshot serializer for reactMount
* fix unit tests
fix xpack unit tests
* adapt non-ts calls
* do not add __reactMount__ property in production
* remove string check on createNotifications
* fix typo and small fix using obj spread
* improve react mount snapshot serializer
* simplify convertToEui
* rename reactMount to toMountPoint
* adapt newly added calls
* move mount types to proper file
* use new Mount types for OverlayBanner apis
* fixing typo
* adapt new calls
* use destructured imports
* Allow registered applications to hide Kibana chrome
* Fix bug in flipped value of application chromeHidden
* Add additional test for app chrome hidden versus chrome visibility
* Rename chromeHidden to chromeless
* Default chrome service app hidden observable to same value as force hidden
* Consolidate force hiding in chrome, add functional tests
* Move chromeless flag to App interface to prevent legacy applications from specifying
* Address review nits to improve separation
* create NP docTitle service and bridge LP to it
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* properly prefix the docTitle public types
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* update documentation
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* replace direct NP access with closure to avoid error when importing module in tests with no usages
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* remove arrow functions for doc generation
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* remove get$ from the api
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* remove apply param and excludeBase option
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* remove removed export
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* adapt legacy service to new api
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* add entry about docTitle in the migration guide
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* add link in migration guide
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* update generated doc
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* update chrome mock
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* update snapshots due to api change
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* remove ChromeDocTitleChange in favor of inline type
Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
* We have a NP plugin! :celebration:
* Redirecting to login on all 401s
* Adding commented out code for when credentials are omitted
* Fixing types
* Respond 403 when user changes password with incorrect current password
* Adding AnonymousPaths where we ignore all 401s
* Adding anonymous path tests
* Extracted a dedicated SessionExpires class and added tests
* Fixing plugin after refactoring to add SessionExpired
* Beginning to work on the session timeout interceptor
* Fixing UnauthorizedResponseInterceptor anonymous path test
* Removing test anonymous path
* Trying to improve readability
* Displaying session logout warning
* Mocking out the base path
* Revert "Mocking out the base path"
This reverts commit 824086c168.
* Changing coreMock to use a concrete instance of BasePath
* Adding session timeout interceptor tests
* Adding session timeout tests
* Adding more tests for short session timeouts
* Moving some files to a session folder
* More thrashing around: renaming and reorganizing
* Renaming Interceptor to HttpInterceptor
* Fixing some type errors
* Fixing legacy chrome API tests
* Fixing other tests to use the concrete instance of BasePath
* Adjusting some types
* Putting DeeplyMocked back, I don't get how DeeplyMockedKeys works
* Moving anonymousPaths to public core http
* Reading sessionTimeout from injected vars and supporting null timeout
* Doesn't extend session when there is no response
* Updating docs and snapshots
* Casting sessionTimeout injectedVar to "number | null"
* Fixing i18n issues
* Update x-pack/plugins/security/public/plugin.ts
Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>
* Adding milliseconds postfix to SessionTimeout private fields
* Even better anonymous paths, with some validation
* Adjusting public method docs for IAnonymousPaths
* Adjusting spelling of base-path to basePath
* Update x-pack/plugins/security/public/session/session_timeout.tsx
Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>
* Update src/core/public/http/anonymous_paths.ts
Co-Authored-By: Josh Dover <me@joshdover.com>
* Update src/core/public/http/anonymous_paths.ts
Co-Authored-By: Josh Dover <me@joshdover.com>
* AnonymousPaths implements IAnonymousPaths and uses IBasePath
* Removing DeeplyMocked
* Removing TODOs
* Fixing types...
* Now, ever more normal
* Pass along request object to all HTTP interceptors
* Do not trigger response interceptors from request errors; make request readonly
* Update core API
* Fix failing test
* Add tests to ensure that interceptors accumulate request and response across calls
* Make request readonly for request error interception, simplify response interception return types
* Update docs from request and response interception API change
* Add missing InterceptedHttpResponse generated docs
* add tests for logWithMetadata in LP
* allow passing metadata to log in NP & LP
* move ui_settings_client to NP
* add ui_settings config
* add ui_settings_service
* switch to NP logging
* export types
* bootstrap uiSettings service in NP
* pass NP uiSettings to LP
* move ui_settings mock to NP
* add test for mixin and switch to NP logger
* make UiSettingsClient.getDefaults sync as it is
* ui_settings_client uses private fields
* ui_settings_client uses private methods
* keep uiSettings config validation in NP only
* update mocks
* core context should know it is mocked
* add tests for ui_settings_service
* remove unused code from ui_settings_mixin test
* improve types in ui_settings_mixin test
* gen docs
* test moved to NP
* set pkg version in tests explicitly
* update mocks in tests
* UiSettingsServiceSetup --> InternalUiSettingsServiceSetup
* add links to types
* address eli comment
* regen docs
* remove unused types
* Expose Saved Objects client in request context
* API Integration test for savedobjects in req context
* SavedObjectsClient docs
* SavedObjectsClient#find remove dependency on indexPatterns
And use the saved objects mappings instead
* Review comments
* Review comments, fixes and tests
* Use correct type for KQL syntax check
* provide packageInfo to server plugins
* provide env to kbn server
* provide env to client plugins
* update server mocks and tests
* update client mocks and tests
* add integration test
* regen docs
* remove weird file
* export types for the client from special folder
* env should not affect test ourcome
* [APM] Replace ui/kfetch with core.http
Closes#46548.
* Remove kfetch mocks in tests
* Expose HttpFetchError from src/core/public/index
* Make HttpFetchError public
* Simplify tests for ServiceOverview
* saved objects: allow partial update without references
For normal attributes, the update API for saved objects supports partial
updates, where it will only attempt to change those attributes you
specify. References should behave the same way otherwise they will be
replaced entirely if you call update without specifying the original
references.
* expose injectMetadata until config service provided
* add functional test
* update types
* fix tests. injectMetadata is a part of plugin contract
* add comment about injectedVars API