* add unimplemented registerAppStatusUpdater & remove observers for apps and legacyApps
* adapt NavLinksService to use new application observables
* merge availableApps$ and availableLegacyApps$
* updating core docs
* adapt the navLink updating methods
* filters the inaccessible apps from availableApps$
* restrict access to navigateToApp depending on app status
* fixes due to merge
* add statusUpdater$ to AppBase
* export new types
* disable navlink depending on app status
* update generated doc
* update snapshots for disabled prop
* Address josh review
* Address review comments
* fix merge conflicts
* adapt changes due to merge
* update generated doc
* add comment and fix navlink url for custom url apps
* add AppNavLinkStatus type to split app/navlink states
* fix typo
* review comments and improvements
* add functional tests
* update generated docs and migration guide
* fix wrong type cast on AppsMenuProvider.readLinks
* properly type return of navigateToApp
* add onAppLeave to AppMountParameters
* adapt legacy shims of app mount
* update generated doc
* returns properly typed AppLeaveAction from leave handler instead of raw strings
* add openConfirm to modal service and use it instead of window.confirm
* fix unit test
* update querystringinput snapshots
* add integration tests
* nits and review comments
* add functional tests
* expose ES clients without observables
* expose observable-less api to plugins
* update core api and mocks
* update plugins
* NP SO & legacy use updated API
* update SO tests
* update TSDocs
* update types
* update docs
* document createCluster analog in np
* typo
* [NP] Allow custom validations in HTTP Routes apart from @kbn/config-schema
* API docs
* Allow validate function in the route handler (run-code validation)
* Prefix RouteXXX + Params and Body Validation Aliases
* Fix test broken by lodash
* Update API docs
* Add default types for simpler manual declaration
* Add run-time validation of the RouteValidateSpec
* Expose RouteValidationError instead of SchemaTypeError
* RouteValidator as a class to match config-schema interface
* Test for not-inline handler (need to check IRouter for #47047)
* Add preValidation of the input for a safer custom validation
* Better types for RouteHandlers
* [NP] Move route validation to RouteValidator wrapper
* Use the class only internally but maintain the same API
* Fix types
* Ensure RouteValidator instance in KibanaRequest.from
* Fix validator.tests (Buffer.from instead of new Buffer)
* Default precheck should allow null values
* Also allow undefined in preChecks
* MR feedback fixes
* Provide RouteValidationResolver to the validation function
* Add functional tests
* Fix new functional tests
* Fix validator additional test
* Fix test with new resolver
* Remove unused import
* Rename ValidationResolver to ValidationResultFactory and change the interface to look more like the KibanaResponseFactory
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* 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
* Move CSP options to new platform (#52698)
* Move CSP options to new platform
* Expose SharedGlobalConfig from root
* Derive CSP options from config
* Consolidate CSP configuration with HTTP config
* Fix outstanding config renames
* Remove legacy CSP configuration calls, migrate to platform properties
* Revise docs
* Fix test from type change
* Expose ICspConfig, consolidate and simplify CSP defaults access
* Rebase and update docs
* Remove legacy API from route definition params, review nits
* Clean up config path usages for consistency
* Regenerate docs
* Test correct default value of csp.strict in 7.x
* 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 (#51478)
* [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
* Disable eslint complain for the legacy config/schema.js import
* 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
* 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
* 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
* Remove react references from core `Notifications` apis (#49573)
* 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
* adapt call in 7.x
* 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