-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move shared vislib components into Charts plugin #62957
Conversation
Move shared vislib components into Charts plugin
💚 CLA has been signed |
cla/check |
Pinging @elastic/kibana-app (Team:KibanaApp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested in Chrome and everything works as expected, left one nit about naming
import { | ||
ColorModes, | ||
ColorSchemas, | ||
ColorSchemaVislibParams, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can rename this to ColorSchemaParams
it's not really bound to vislib anymore.
|
||
import { $Values } from '@kbn/utility-types'; | ||
|
||
export const ColorModes = Object.freeze({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can use enum
here:
export enum ColorModes {
BACKGROUND = 'Background',
LABELS = 'Labels',
NONE = 'None',
}
and for Rotates
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think @nickofthyme introduced these but I forgot what the advantage over enums was. Could you explain, Nick?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The short answer, nothing really.
In elastic-charts (elastic/elastic-charts#266) we only use object enums because of the bloat the standard ts enums
create in the final transpiled javascript.
The regular enum would produce something like
enum Pet1 {
Cat = 'Cat',
Dog = 'Dog',
}
// transpiles to this
var Pet1;
(function (Pet1) {
Pet1["Cat"] = "Cat";
Pet1["Dog"] = "Dog";
})(Pet1 || (Pet1 = {}));
where a much cleaner output is
const Pet2 = Object.freeze({
Cat: 'Cat' as 'Cat',
Dog: 'Dog' as 'Dog',
})
type Pet2 = typeof Pet2.Cat | typeof Pet2.Dog;
// transpiles to this
const Pet2 = Object.freeze({
Cat: 'Cat',
Dog: 'Dog',
});
Using a const enum
would be clearer but they are not yet supported in babel (babel/babel#8741)
export { SelectOption } from './select'; | ||
export { SwitchOption } from './switch'; | ||
export { TextInputOption } from './text_input'; | ||
export { useValidation } from './utils'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sulemanof I noticed that there are two version of useValidation
: in vis_default_editor and in vis_type_vislib. I believe it makes sense to leave just one version (I guess from vis_default_editor
). What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are different, check out interfaces there.
So the second one respects particular paramName
to be invalid
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean to use the version from vis_default_editor
and a bit change useValidation
usage in RequiredNumberInputOption
:
const setControlValidity = useCallback((isValidControl: boolean) => {
setValidity(paramName, isValidControl);
}, [setValidity]);
useValidation(setControlValidity, isValid);
Also the RequiredNumberInputOption
control is currently used in vis_type_vislib
only. So I think we don't need to move it to charts
plugin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree it's confusing to have to slightly different helpers with different names. Let's consolidate into one if that's possible without major changes.
About RequiredNumberInputOption
: OTOH it might be helpful somewhere else too later, not really a preference here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense.
If it is the only usage, I would also keep the only useEffect
here.
But I'm fine with both.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About
RequiredNumberInputOption
: OTOH it might be helpful somewhere else too later, not really a preference here.
Yep, there is also an issue created for this purpose
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code changes LGTM. Verified PR locally on Chrome.
Verified the following with sample datasets:
ColorSchemaOptions
andColorRanges
in metrics visBasicOptions
,RequiredNumberInputOption
andThresholdPanel
in vertical bar vis- All other moved components and types in panel settings.
SwitchOption, | ||
} from '../../../../../../../plugins/charts/public'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: we can combine line 34:
SwitchOption, | |
} from '../../../../../../../plugins/charts/public'; | |
SwitchOption, | |
ColorSchemas, | |
} from '../../../../../../../plugins/charts/public'; |
# Conflicts: # x-pack/plugins/translations/translations/ja-JP.json # x-pack/plugins/translations/translations/zh-CN.json
… got rid of useValidation function
…seValidation function
💚 Build SucceededHistory
To update your PR or re-run it, just comment with: |
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Closes #56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again Co-authored-by: DianaDerevyankina <[email protected]>
* Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again
* Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * [APM] Agent config select box doesn't work on IE (#63236) * adding value property to select options * fixing test * Use globe icon for "ext" span type on service map (#63205) Both "external" and "ext" can be returned and should have the same icon. * Move shared vislib components into Charts plugin (#62957) * Closes #56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again * Make uptime alert flyout test a little more resilient (#62702) * [SIEM] [Cases] Unit tests for case UI components (#63005) * Endpoint: Remove unused `lib` module (#63248) * [Lens] Fix error in query from generated suggestion (#63018) * [Lens] Fix error in query from generated suggestion * Update from review comments * Fix test Co-authored-by: Elastic Machine <[email protected]> * Resolver/node svg 2 html (#62958) * Remove some SVG in Resolver nodes and replace with HTML * [Reporting] convert all server unit tests to TypeScript (#62873) * [Reporting] convert all server unit tests to TypeScript * fix ts * revert unrelated change * [SIEM] Link ML Rule card CTA to license_management (#63210) * Link ML Rule card CTA to license_management Taking the user directly to the license management page within kibana (where they could immediately start a trial subscription) is much more actionable than taking them to the subscriptions marketing page. * Revert translation key change Neither of these is totally accurate, and there've already been translations written for the old one. * Correctly type ILM's optional dependencies as optional (#63255) And guard against their absence. * [Telemetry] use prod keys (#63263) * update chromedriver dependency to 81.0.0 (#63266) * task/mac-eventing-form (#62999) adds mac events form for endpoint policy details Co-authored-by: oatkiller <[email protected]> * bc6 rule import april 9 (#63152) * bc6 rule import april 9 Increased the lookback of the ML rules * re-import with LF chars Co-authored-by: Elastic Machine <[email protected]> * Added UI for pre-configured connectors. (#63074) * Added UI for pre-configured connectors. * fixed due to comments * Fixed jest tests * Fixed due to comments and added some functional tests * test fix * Fixed failed checks * Fixed functional tests failing * TaskManager tasks scheduled without attempting to run (#62078) * TaskManager tasks scheduled without attempting to run * Removing unused import Co-authored-by: Elastic Machine <[email protected]> * Changed alerting wrong param name for help xpack.encrypted_saved_objects.encryptionKey to xpack.encryptedSavedObjects.encryptionKey (#63307) * fix ScopedHistory.createHref to prepend location with scoped history basePath (#62407) * fix createHref to prepend with scoped history basePath + add option to exclude it. * fix prependBasePath behavior * fix test plugins urls * add pathname to endpoint url builder methods * Revert "add pathname to endpoint url builder methods" This reverts commit 7604932 * adapt createHref instead of prependBasePath * use object options for createHref * update generated doc * fixing custom link popover size and hiding scroll (#63240) * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Applying some changes * Reverting search_bar code changes * Removing some stuff that was causing functional tests to fail * Removing refresh dashboard container which was causing errors during navigation * Do not destroy dashboardContainer * Adding updateSavedQueryId method Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Cauê Marcondes <[email protected]> Co-authored-by: Nathan L Smith <[email protected]> Co-authored-by: DianaDerevyankina <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Steph Milovic <[email protected]> Co-authored-by: Robert Austin <[email protected]> Co-authored-by: Wylie Conlon <[email protected]> Co-authored-by: Brent Kimmel <[email protected]> Co-authored-by: Tim Sullivan <[email protected]> Co-authored-by: Ryland Herrick <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Ahmad Bamieh <[email protected]> Co-authored-by: Dmitry Lemeshko <[email protected]> Co-authored-by: Candace Park <[email protected]> Co-authored-by: The SpaceCake Project <[email protected]> Co-authored-by: Yuliia Naumenko <[email protected]> Co-authored-by: Brandon Kobel <[email protected]> Co-authored-by: Pierre Gayvallet <[email protected]>
* Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * [APM] Agent config select box doesn't work on IE (elastic#63236) * adding value property to select options * fixing test * Use globe icon for "ext" span type on service map (elastic#63205) Both "external" and "ext" can be returned and should have the same icon. * Move shared vislib components into Charts plugin (elastic#62957) * Closes elastic#56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again * Make uptime alert flyout test a little more resilient (elastic#62702) * [SIEM] [Cases] Unit tests for case UI components (elastic#63005) * Endpoint: Remove unused `lib` module (elastic#63248) * [Lens] Fix error in query from generated suggestion (elastic#63018) * [Lens] Fix error in query from generated suggestion * Update from review comments * Fix test Co-authored-by: Elastic Machine <[email protected]> * Resolver/node svg 2 html (elastic#62958) * Remove some SVG in Resolver nodes and replace with HTML * [Reporting] convert all server unit tests to TypeScript (elastic#62873) * [Reporting] convert all server unit tests to TypeScript * fix ts * revert unrelated change * [SIEM] Link ML Rule card CTA to license_management (elastic#63210) * Link ML Rule card CTA to license_management Taking the user directly to the license management page within kibana (where they could immediately start a trial subscription) is much more actionable than taking them to the subscriptions marketing page. * Revert translation key change Neither of these is totally accurate, and there've already been translations written for the old one. * Correctly type ILM's optional dependencies as optional (elastic#63255) And guard against their absence. * [Telemetry] use prod keys (elastic#63263) * update chromedriver dependency to 81.0.0 (elastic#63266) * task/mac-eventing-form (elastic#62999) adds mac events form for endpoint policy details Co-authored-by: oatkiller <[email protected]> * bc6 rule import april 9 (elastic#63152) * bc6 rule import april 9 Increased the lookback of the ML rules * re-import with LF chars Co-authored-by: Elastic Machine <[email protected]> * Added UI for pre-configured connectors. (elastic#63074) * Added UI for pre-configured connectors. * fixed due to comments * Fixed jest tests * Fixed due to comments and added some functional tests * test fix * Fixed failed checks * Fixed functional tests failing * TaskManager tasks scheduled without attempting to run (elastic#62078) * TaskManager tasks scheduled without attempting to run * Removing unused import Co-authored-by: Elastic Machine <[email protected]> * Changed alerting wrong param name for help xpack.encrypted_saved_objects.encryptionKey to xpack.encryptedSavedObjects.encryptionKey (elastic#63307) * fix ScopedHistory.createHref to prepend location with scoped history basePath (elastic#62407) * fix createHref to prepend with scoped history basePath + add option to exclude it. * fix prependBasePath behavior * fix test plugins urls * add pathname to endpoint url builder methods * Revert "add pathname to endpoint url builder methods" This reverts commit 7604932 * adapt createHref instead of prependBasePath * use object options for createHref * update generated doc * fixing custom link popover size and hiding scroll (elastic#63240) * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Applying some changes * Reverting search_bar code changes * Removing some stuff that was causing functional tests to fail * Removing refresh dashboard container which was causing errors during navigation * Do not destroy dashboardContainer * Adding updateSavedQueryId method Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Cauê Marcondes <[email protected]> Co-authored-by: Nathan L Smith <[email protected]> Co-authored-by: DianaDerevyankina <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Steph Milovic <[email protected]> Co-authored-by: Robert Austin <[email protected]> Co-authored-by: Wylie Conlon <[email protected]> Co-authored-by: Brent Kimmel <[email protected]> Co-authored-by: Tim Sullivan <[email protected]> Co-authored-by: Ryland Herrick <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Ahmad Bamieh <[email protected]> Co-authored-by: Dmitry Lemeshko <[email protected]> Co-authored-by: Candace Park <[email protected]> Co-authored-by: The SpaceCake Project <[email protected]> Co-authored-by: Yuliia Naumenko <[email protected]> Co-authored-by: Brandon Kobel <[email protected]> Co-authored-by: Pierre Gayvallet <[email protected]>
* Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Attempt at deangularization, nr.2 * Remove padding in fullscreen * Fixing failing functional test * Fixing remaining functional test * Fixing typescript errors * Fixing filter bar not being visible in fullscreen * Fixing filter bar not being visible in fullscreen * Rebasing against master * Fixing a small leftover * Fix order of functions * Fixing linting error * [APM] Agent config select box doesn't work on IE (#63236) * adding value property to select options * fixing test * Use globe icon for "ext" span type on service map (#63205) Both "external" and "ext" can be returned and should have the same icon. * Move shared vislib components into Charts plugin (#62957) * Closes #56310 Move shared vislib components into Charts plugin * Fixed imports in tests * Changed i18n IDs to match charts namespace * Renamed ColorSchemaVislibParams to ColorSchemaParams, added enums and got rid of useValidation function * Renamed ColorSchemaVislibParams to ColorSchemaParams and got rid of useValidation function * Fixed merge conflict * Replaced enums with objects again * Make uptime alert flyout test a little more resilient (#62702) * [SIEM] [Cases] Unit tests for case UI components (#63005) * Endpoint: Remove unused `lib` module (#63248) * [Lens] Fix error in query from generated suggestion (#63018) * [Lens] Fix error in query from generated suggestion * Update from review comments * Fix test Co-authored-by: Elastic Machine <[email protected]> * Resolver/node svg 2 html (#62958) * Remove some SVG in Resolver nodes and replace with HTML * [Reporting] convert all server unit tests to TypeScript (#62873) * [Reporting] convert all server unit tests to TypeScript * fix ts * revert unrelated change * [SIEM] Link ML Rule card CTA to license_management (#63210) * Link ML Rule card CTA to license_management Taking the user directly to the license management page within kibana (where they could immediately start a trial subscription) is much more actionable than taking them to the subscriptions marketing page. * Revert translation key change Neither of these is totally accurate, and there've already been translations written for the old one. * Correctly type ILM's optional dependencies as optional (#63255) And guard against their absence. * [Telemetry] use prod keys (#63263) * update chromedriver dependency to 81.0.0 (#63266) * task/mac-eventing-form (#62999) adds mac events form for endpoint policy details Co-authored-by: oatkiller <[email protected]> * bc6 rule import april 9 (#63152) * bc6 rule import april 9 Increased the lookback of the ML rules * re-import with LF chars Co-authored-by: Elastic Machine <[email protected]> * Added UI for pre-configured connectors. (#63074) * Added UI for pre-configured connectors. * fixed due to comments * Fixed jest tests * Fixed due to comments and added some functional tests * test fix * Fixed failed checks * Fixed functional tests failing * TaskManager tasks scheduled without attempting to run (#62078) * TaskManager tasks scheduled without attempting to run * Removing unused import Co-authored-by: Elastic Machine <[email protected]> * Changed alerting wrong param name for help xpack.encrypted_saved_objects.encryptionKey to xpack.encryptedSavedObjects.encryptionKey (#63307) * fix ScopedHistory.createHref to prepend location with scoped history basePath (#62407) * fix createHref to prepend with scoped history basePath + add option to exclude it. * fix prependBasePath behavior * fix test plugins urls * add pathname to endpoint url builder methods * Revert "add pathname to endpoint url builder methods" This reverts commit 7604932 * adapt createHref instead of prependBasePath * use object options for createHref * update generated doc * fixing custom link popover size and hiding scroll (#63240) * Changing noPadding to a custom class * Use filterManagers to handle filters * Rename class * Applying some changes * Reverting search_bar code changes * Removing some stuff that was causing functional tests to fail * Removing refresh dashboard container which was causing errors during navigation * Do not destroy dashboardContainer * Adding updateSavedQueryId method Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Cauê Marcondes <[email protected]> Co-authored-by: Nathan L Smith <[email protected]> Co-authored-by: DianaDerevyankina <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Steph Milovic <[email protected]> Co-authored-by: Robert Austin <[email protected]> Co-authored-by: Wylie Conlon <[email protected]> Co-authored-by: Brent Kimmel <[email protected]> Co-authored-by: Tim Sullivan <[email protected]> Co-authored-by: Ryland Herrick <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Ahmad Bamieh <[email protected]> Co-authored-by: Dmitry Lemeshko <[email protected]> Co-authored-by: Candace Park <[email protected]> Co-authored-by: The SpaceCake Project <[email protected]> Co-authored-by: Yuliia Naumenko <[email protected]> Co-authored-by: Brandon Kobel <[email protected]> Co-authored-by: Pierre Gayvallet <[email protected]> Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Cauê Marcondes <[email protected]> Co-authored-by: Nathan L Smith <[email protected]> Co-authored-by: DianaDerevyankina <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Steph Milovic <[email protected]> Co-authored-by: Robert Austin <[email protected]> Co-authored-by: Wylie Conlon <[email protected]> Co-authored-by: Brent Kimmel <[email protected]> Co-authored-by: Tim Sullivan <[email protected]> Co-authored-by: Ryland Herrick <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Ahmad Bamieh <[email protected]> Co-authored-by: Dmitry Lemeshko <[email protected]> Co-authored-by: Candace Park <[email protected]> Co-authored-by: The SpaceCake Project <[email protected]> Co-authored-by: Yuliia Naumenko <[email protected]> Co-authored-by: Brandon Kobel <[email protected]> Co-authored-by: Pierre Gayvallet <[email protected]>
Closes #56310
Summary
Moved some components/types from the vis_type_vislib plugin that are used in other plugins to the Charts plugin.
Checklist
Delete any items that are not applicable to this PR.
For maintainers