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

Reply via email to