From cdcb39f3eafc844f737b59e2ea04629f2726e70e Mon Sep 17 00:00:00 2001 From: Simone Scarduzio Date: Sat, 12 Sep 2026 21:34:10 +0000 Subject: [PATCH 1/4] Kibana-content-overwrite covers the in-app Rules -> Connectors route The alerting overwrite is asserted on both routes between Rules and Connectors: through the homepage, and directly in-app. The in-app route is the one that regressed in RORDEV-2185 - Kibana wipes the pageBody container's children without replacing the container, so a second ReactDOM.render() reconciles against a stale fiber tree and the overwrite never reappears. The homepage route replaces the container and hides the bug. Co-Authored-By: Claude Opus 5 --- e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts b/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts index 4a0f6833..86466696 100644 --- a/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts +++ b/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts @@ -35,6 +35,17 @@ describe('Kibana-content-overwrite', () => { StackManagement.openConnectorsPage(); isAlertingOverwritePageVisible(); + + // Rules -> Connectors with no homepage between them, unlike the pair above. Kibana moves + // between those two pages in-app, so it wipes the children of the pageBody container without + // replacing the container itself. A second ReactDOM.render() on that same node is then a + // no-op reconciliation against a stale fiber tree, and the overwrite never reappears + // (RORDEV-2185). The route through the homepage does not reproduce it, because the container + // is replaced on the way. + StackManagement.openRulesPage(); + isAlertingOverwritePageVisible(); + StackManagement.openConnectorsPage(); + isAlertingOverwritePageVisible(); } else { StackManagement.openRulesAndConnectorsPage(); isAlertingOverwritePageVisible(); From cdddd11a7d87563b1019bbbf81482c28ba507d5c Mon Sep 17 00:00:00 2001 From: Simone Scarduzio Date: Sat, 12 Sep 2026 21:34:14 +0000 Subject: [PATCH 2/4] Both skipped tests say why they are skipped and what lifts the skip ror-config carries the RORDEV-1813 context: the suite asserts a hot reload that readonlyrest_kbn#754 turned off, so it waits on the reload redesign and not on a test fix. Spaces states that its skip is version-gated to Kibana >= 9.1.0, so a reader does not take it for a suite-wide one. Co-Authored-By: Claude Opus 5 --- e2e-tests/cypress/e2e/Spaces.cy.ts | 3 +++ e2e-tests/cypress/e2e/ror-config.cy.ts | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/e2e-tests/cypress/e2e/Spaces.cy.ts b/e2e-tests/cypress/e2e/Spaces.cy.ts index 0b243028..6714fa7b 100644 --- a/e2e-tests/cypress/e2e/Spaces.cy.ts +++ b/e2e-tests/cypress/e2e/Spaces.cy.ts @@ -52,6 +52,9 @@ describe('Spaces', () => { if (semver.gte(getKibanaVersion(), '9.1.0')) { // FIXME: for Kibana 9.1.0 there is a new .kibana_security_search index not handled on es side yet + // + // The skip is version-gated, not a suite-wide one: only Kibana >= 9.1.0 is affected, and the + // else branch below still runs the test on every earlier version. it.skip('should create and navigate to new space with hidden features'); } else { it('should create and navigate to new space with hidden features', () => { diff --git a/e2e-tests/cypress/e2e/ror-config.cy.ts b/e2e-tests/cypress/e2e/ror-config.cy.ts index dc35b8c9..8f9473c8 100644 --- a/e2e-tests/cypress/e2e/ror-config.cy.ts +++ b/e2e-tests/cypress/e2e/ror-config.cy.ts @@ -5,6 +5,11 @@ import { Editor } from '../support/page-objects/Editor'; import { rorApiInternalKbnClient } from '../support/helpers/RorApiInternalKbnClient'; // TODO: Uncomment when functionality enabled +// +// RORDEV-1813. These tests assert that a readonlyrest_kbn block saved to the .readonlyrest index +// takes effect without a Kibana restart. readonlyrest_kbn#754 deliberately turned that hot reload +// off (see the FIXMEs on RorConfigManager.startConfigRefresh), so the suite cannot pass today. +// Re-enable it with the reload redesign, not before. describe.skip('Ror config', () => { beforeEach(() => { Login.initialization(); From 693b5c4eadae7d8122bc72d5fb1c9cfcf9b8add3 Mon Sep 17 00:00:00 2001 From: Simone Scarduzio Date: Sun, 13 Sep 2026 13:18:45 +0000 Subject: [PATCH 3/4] Kibana-content-overwrite walks each page once The second Rules -> Connectors pair does not reproduce RORDEV-2185: it passes against beshultd/kibana-readonlyrest:*-ror-1.71.0, which predates readonlyrest_kbn#1028, on 9.5.3, 9.4.6 and 8.19.21. Both pairs reach Connectors through the Stack Management landing page, so the pageBody container is replaced on the way and the stale-fiber path never runs. Co-Authored-By: Claude Opus 5 --- e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts | 11 ----------- e2e-tests/cypress/e2e/Spaces.cy.ts | 3 --- 2 files changed, 14 deletions(-) diff --git a/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts b/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts index 86466696..4a0f6833 100644 --- a/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts +++ b/e2e-tests/cypress/e2e/Kibana-content-overwrite.cy.ts @@ -35,17 +35,6 @@ describe('Kibana-content-overwrite', () => { StackManagement.openConnectorsPage(); isAlertingOverwritePageVisible(); - - // Rules -> Connectors with no homepage between them, unlike the pair above. Kibana moves - // between those two pages in-app, so it wipes the children of the pageBody container without - // replacing the container itself. A second ReactDOM.render() on that same node is then a - // no-op reconciliation against a stale fiber tree, and the overwrite never reappears - // (RORDEV-2185). The route through the homepage does not reproduce it, because the container - // is replaced on the way. - StackManagement.openRulesPage(); - isAlertingOverwritePageVisible(); - StackManagement.openConnectorsPage(); - isAlertingOverwritePageVisible(); } else { StackManagement.openRulesAndConnectorsPage(); isAlertingOverwritePageVisible(); diff --git a/e2e-tests/cypress/e2e/Spaces.cy.ts b/e2e-tests/cypress/e2e/Spaces.cy.ts index 6714fa7b..0b243028 100644 --- a/e2e-tests/cypress/e2e/Spaces.cy.ts +++ b/e2e-tests/cypress/e2e/Spaces.cy.ts @@ -52,9 +52,6 @@ describe('Spaces', () => { if (semver.gte(getKibanaVersion(), '9.1.0')) { // FIXME: for Kibana 9.1.0 there is a new .kibana_security_search index not handled on es side yet - // - // The skip is version-gated, not a suite-wide one: only Kibana >= 9.1.0 is affected, and the - // else branch below still runs the test on every earlier version. it.skip('should create and navigate to new space with hidden features'); } else { it('should create and navigate to new space with hidden features', () => { From 781ee57612c45be55dec1e16acf2335ac2f153b4 Mon Sep 17 00:00:00 2001 From: Simone Scarduzio Date: Sun, 13 Sep 2026 13:18:45 +0000 Subject: [PATCH 4/4] The two skip comments say only what lifts the skip Co-Authored-By: Claude Opus 5 --- e2e-tests/cypress/e2e/ror-config.cy.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/e2e-tests/cypress/e2e/ror-config.cy.ts b/e2e-tests/cypress/e2e/ror-config.cy.ts index 8f9473c8..de65f560 100644 --- a/e2e-tests/cypress/e2e/ror-config.cy.ts +++ b/e2e-tests/cypress/e2e/ror-config.cy.ts @@ -4,12 +4,7 @@ import { Settings } from '../support/page-objects/Settings'; import { Editor } from '../support/page-objects/Editor'; import { rorApiInternalKbnClient } from '../support/helpers/RorApiInternalKbnClient'; -// TODO: Uncomment when functionality enabled -// -// RORDEV-1813. These tests assert that a readonlyrest_kbn block saved to the .readonlyrest index -// takes effect without a Kibana restart. readonlyrest_kbn#754 deliberately turned that hot reload -// off (see the FIXMEs on RorConfigManager.startConfigRefresh), so the suite cannot pass today. -// Re-enable it with the reload redesign, not before. +// It will be unskipped when https://github.com/beshu-tech/readonlyrest-e2e-tests/pull/116 is merged. describe.skip('Ror config', () => { beforeEach(() => { Login.initialization();