Skip to content

[Synthetics] Stop per-card maintenance-window refetch storm on overview scroll - #289776

Merged
shahzad31 merged 2 commits into
elastic:mainfrom
shahzad31:shahzad/synthetics-mw-refetch-on-scroll
Sep 15, 2026
Merged

shahzad31 merged 2 commits into
elastic:mainfrom
shahzad31:shahzad/synthetics-mw-refetch-on-scroll

Conversation

@shahzad31

@shahzad31 shahzad31 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

useFetchMaintenanceWindows had no staleTime, so react-query treated its cached result as stale immediately after every fetch. The hook is called per monitor card (MetricItemIcon -> useMonitorMWs) from the virtualized Synthetics overview grid, so scrolling — which constantly mounts fresh card instances as new rows come into view — fired a brand new GET /internal/synthetics/monitors/maintenance_windows request for every card, instead of reusing the one already-cached result.

Fix

Set staleTime to match the hook's existing refetchInterval (5 minutes) — the same window during which the data is already known to be safe to reuse (maintenance windows only take effect on a sync interval, and the existing refetchInterval comment explains why 5 minutes is the right cadence). This is a one-line change with no behavior change to the periodic background polling.

Testing

  • Added a unit test (use_fetch_maintenance_windows.test.ts) asserting staleTime matches refetchInterval; confirmed red (fails without the fix) / green (passes with it).
  • Verified live: on the Synthetics overview page (card view), scrolling to load new pages of monitors previously fired one maintenance_windows request per newly-mounted card. After the fix, scrolling through newly-loaded pages triggers zero additional requests.

Test plan

  • Unit test added and passing
  • Verified locally in a real browser (network trace before/after)
  • node scripts/eslint --fix clean
  • Scoped type-check clean (synthetics project full pass)

@github-actions github-actions Bot added the author:actionable-obs PRs authored by the actionable obs team label Sep 8, 2026
@shahzad31
shahzad31 marked this pull request as ready for review September 15, 2026 08:35
@shahzad31
shahzad31 requested a review from a team as a code owner September 15, 2026 08:35
@shahzad31 shahzad31 added release_note:skip Skip the PR/issue when compiling release notes backport:all-open Backport to all branches that could still receive a release labels Sep 15, 2026
@shahzad31
shahzad31 enabled auto-merge (squash) September 15, 2026 08:51
…ew scroll

useFetchMaintenanceWindows had no staleTime, so react-query treated its
cached result as stale immediately. The hook is called per monitor card
(MetricItemIcon -> useMonitorMWs) from the virtualized overview grid, so
scrolling — which constantly mounts fresh card instances — fired a brand
new /internal/synthetics/monitors/maintenance_windows request for every
card instead of reusing the one already-cached result.

Set staleTime to match the existing refetchInterval (5 minutes), the
window during which maintenance-window data is already known to be safe
to reuse without polling.
@shahzad31
shahzad31 force-pushed the shahzad/synthetics-mw-refetch-on-scroll branch from 8869702 to 34240c1 Compare September 15, 2026 09:18
@kibanamachine

Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Page load bundle

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

id before after diff
shared-plugins 12.1MB 12.1MB +14.0B
Unknown metric groups

total optimizer output size

id before after diff
all 63.9MB 63.9MB +14.0B

Test Failures

  • [job] [logs] Scout Lane #7 - serverless-observability_complete / default / local-serverless-observability_complete - statusRulePendingThreshold - waits for two consecutive pending evaluations before firing when pendingThreshold is 2
  • [job] [logs] Scout Lane #7 - serverless-observability_complete / default / local-serverless-observability_complete - Synthetics manage rules privilege - lets a read user with can_manage_rules enable default alerting
  • [job] [logs] Scout Lane #3 - stateful-classic / default / local-stateful-classic - getCertificates - returns an empty result when no monitors are configured
  • [job] [logs] Scout Lane #3 - stateful-classic / default / local-stateful-classic - Synthetics manage rules privilege - lets a read user with can_manage_rules enable default alerting

History

@shahzad31
shahzad31 merged commit e443f81 into elastic:main Sep 15, 2026
41 checks passed
@kibanamachine

Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.19, 9.4, 9.5

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

@kibanamachine

Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
8.19
9.4
9.5

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

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Sep 15, 2026
…overview scroll (#289776) (#291103)

# Backport

This will backport the following commits from `main` to `9.4`:
- [[Synthetics] Stop per-card maintenance-window refetch storm on
overview scroll
(#289776)](#289776)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2026-09-15T11:41:29Z","message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9","branchLabelMapping":{"^v9.6.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","author:actionable-obs","v9.6.0"],"title":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview
scroll","number":289776,"url":"https://github.com/elastic/kibana/pull/289776","mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.6.0","branchLabelMappingKey":"^v9.6.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/289776","number":289776,"mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}}]}] BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
kibanamachine added a commit that referenced this pull request Sep 15, 2026
…overview scroll (#289776) (#291104)

# Backport

This will backport the following commits from `main` to `9.5`:
- [[Synthetics] Stop per-card maintenance-window refetch storm on
overview scroll
(#289776)](#289776)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2026-09-15T11:41:29Z","message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9","branchLabelMapping":{"^v9.6.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","author:actionable-obs","v9.6.0"],"title":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview
scroll","number":289776,"url":"https://github.com/elastic/kibana/pull/289776","mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.6.0","branchLabelMappingKey":"^v9.6.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/289776","number":289776,"mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}}]}] BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
kibanamachine added a commit that referenced this pull request Sep 15, 2026
… overview scroll (#289776) (#291101)

# Backport

This will backport the following commits from `main` to `8.19`:
- [[Synthetics] Stop per-card maintenance-window refetch storm on
overview scroll
(#289776)](#289776)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2026-09-15T11:41:29Z","message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9","branchLabelMapping":{"^v9.6.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","author:actionable-obs","v9.6.0"],"title":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview
scroll","number":289776,"url":"https://github.com/elastic/kibana/pull/289776","mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.6.0","branchLabelMappingKey":"^v9.6.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/289776","number":289776,"mergeCommit":{"message":"[Synthetics]
Stop per-card maintenance-window refetch storm on overview scroll
(#289776)\n\n## Summary\n\n`useFetchMaintenanceWindows` had no
`staleTime`, so react-query treated\nits cached result as stale
immediately after every fetch. The hook is\ncalled per monitor card
(`MetricItemIcon` -> `useMonitorMWs`) from the\nvirtualized Synthetics
overview grid, so scrolling — which constantly\nmounts fresh card
instances as new rows come into view — fired a brand\nnew `GET
/internal/synthetics/monitors/maintenance_windows` request for\nevery
card, instead of reusing the one already-cached result.\n\n## Fix\n\nSet
`staleTime` to match the hook's existing `refetchInterval` (5\nminutes)
— the same window during which the data is already known to be\nsafe to
reuse (maintenance windows only take effect on a sync interval,\nand the
existing `refetchInterval` comment explains why 5 minutes is the\nright
cadence). This is a one-line change with no behavior change to
the\nperiodic background polling.\n\n## Testing\n\n- Added a unit test
(`use_fetch_maintenance_windows.test.ts`) asserting\n`staleTime` matches
`refetchInterval`; confirmed red (fails without the\nfix) / green
(passes with it).\n- Verified live: on the Synthetics overview page
(card view), scrolling\nto load new pages of monitors previously fired
one `maintenance_windows`\nrequest per newly-mounted card. After the
fix, scrolling through\nnewly-loaded pages triggers zero additional
requests.\n\n## Test plan\n\n- [x] Unit test added and passing\n- [x]
Verified locally in a real browser (network trace before/after)\n- [x]
`node scripts/eslint --fix` clean\n- [x] Scoped type-check clean
(`synthetics` project full
pass)","sha":"e443f816d1018d365c92bd7a6138be218bde19a9"}}]}] BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author:actionable-obs PRs authored by the actionable obs team backport:all-open Backport to all branches that could still receive a release release_note:skip Skip the PR/issue when compiling release notes v8.19.22 v9.4.7 v9.5.4 v9.6.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants