The GitHub Actions job "CI" on grails-core.git/feat/sitemesh3-default-layout has succeeded. Run started by GitHub user codeconsole (triggered by codeconsole).
Head commit for run: 6e83b250f1c43a14787dd4d9f5edea757a52b394 / Scott Murphy Heiberg <[email protected]> Fix SiteMesh 3 layout chaining, error-page decoration and JSP rendering Three gaps surfaced by re-enabling the gsp-sitemesh3 example, which tests the layout engine itself rather than just using it: - Nested <g:applyLayout> chains lost the inner layout's title, head and body wrappers: applyLayout overwrote the captured body with the full rendered document and passed the inner chain's decorated output on as raw text. Never overwrite a captured body buffer, and parse uncaptured full-document bodies through the content processor so chained decoration keeps head/title/body, as SiteMesh 2 does. - Error-dispatched views (404/500 pages) rendered undecorated because Sitemesh3LayoutFinder guarded on the composite isRenderView(), which is false for any response status >= 300. Replace the guard with the SiteMesh 2 parity mechanism: a Sitemesh3RenderViewMutator registered as grailsRenderViewMutator that unwraps the SiteMesh view only for "render template:" partials, so error views decorate via their meta layout while partials stay undecorated. - JSP views rendered empty on Tomcat 11 because JstlView forwards and ApplicationDispatcher suspends the wrapped response after the forward, discarding everything SiteMesh writes. Render InternalResourceView inner views via include instead, and honor the JSP's meta layout. Verified: gsp-sitemesh3 integration suite 15/15, grails-sitemesh3 unit tests 32/32 (new mutator/finder/resolver specs), no regressions in the app1 layout/include/template specs or scaffolding-fields embedded fields. Report URL: https://github.com/apache/grails-core/actions/runs/27304372302 With regards, GitHub Actions via GitBox
