From 5832d55b4a849eb0e97080405b6c6cc931b3a79a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 13 Oct 2026 13:00:51 +0000 Subject: [PATCH] README and test comments: the embedded root is a sap.m.NavContainer after abap2UI5 1.147.0 abap2UI5/abap2UI5#2913 gives an embedded component a sap.m.NavContainer as its root; the release after 1.147.0 also leaves the busy indicator and the title to the host. The known limitations and two e2e comments said sap.m.App is the root on every release. The tests themselves hold on both: the control's root-content marker still stops sap.m.Shell's walk. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GPMAtn6BycCF2mKRUHGpek --- README.md | 5 +++-- test/e2e/card.spec.mjs | 6 +++--- test/e2e/freestyle.spec.mjs | 8 ++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c071733..dd38ea3 100644 --- a/README.md +++ b/README.md @@ -350,8 +350,9 @@ BSP Z2UI5_HOST_FE the Fiori elements app - One frontend per page: the first control that starts decides where it comes from; every control still sends its roundtrips to its own endpoint. -- Embedding is still page-wide in places - busy indicator, title, the - `sap.m.App` root - until abap2UI5's embedded mode covers them +- Embedding is still page-wide in places up to abap2UI5 1.147.0 - busy + indicator, title, the full-screen `sap.m.App` root; the release after + 1.147.0 leaves them to the host, with a `sap.m.NavContainer` as the root ([backlog item](https://github.com/abap2UI5/abap2UI5/blob/main/backlog/items/embed-as-reuse-component.md)); the URL hash is the host's from abap2UI5 1.146.0 on. - Custom controls from `Z2UI5_CCI`/`Z2UI5_CCC`: the bundle hands over their diff --git a/test/e2e/card.spec.mjs b/test/e2e/card.spec.mjs index d296433..74a3f34 100644 --- a/test/e2e/card.spec.mjs +++ b/test/e2e/card.spec.mjs @@ -113,9 +113,9 @@ test( }, ); -// The app takes the room the card gives it and no more: sap.m.App and -// sap.m.Shell set height:100% on every ancestor up to , unless the -// control marks its area as their root. +// The app takes the room the card gives it and no more: sap.m.App (the +// root up to abap2UI5 1.147.0) and sap.m.Shell set height:100% on every +// ancestor up to , unless the control marks its area as their root. test("the card keeps the height of its content", async ({ page }) => { const box = await card(page, "hello").boundingBox(); const app = await card(page, "hello") diff --git a/test/e2e/freestyle.spec.mjs b/test/e2e/freestyle.spec.mjs index a629e90..88e2b96 100644 --- a/test/e2e/freestyle.spec.mjs +++ b/test/e2e/freestyle.spec.mjs @@ -53,10 +53,10 @@ test("the embedded app stays inside its container", async ({ page }) => { } }); -// sap.m.App - the frontend's root - and sap.m.Shell set height:100% on every -// ancestor that has no height, up to , unless they meet an element -// marked as root content. The control marks its area, so the host's layout -// above it stays the way the host made it. +// sap.m.App - the frontend's root up to abap2UI5 1.147.0 - and sap.m.Shell +// set height:100% on every ancestor that has no height, up to , +// unless they meet an element marked as root content. The control marks +// its area, so the host's layout above it stays the way the host made it. test("the embedded app leaves the host's layout alone", async ({ page }) => { const heights = await container(page, "single").evaluate((el) => { const set = [];