Skip to content

[5.0.x] Update Partial Rendering - #1053

Open
volosied wants to merge 2 commits into
apache:mainfrom
volosied:main
Open

[5.0.x] Update Partial Rendering#1053
volosied wants to merge 2 commits into
apache:mainfrom
volosied:main

Conversation

@volosied

Copy link
Copy Markdown
Contributor

No description provided.

The jakarta.faces.partial.render / .execute request parameters (and the
jakarta.faces.source parameter) were split into client ids without any
limit on the number or length of the ids. PartialVisitContext then
retained one prefix substring per naming-container separator of each id,
so a single very long id was expensive to process.

Cap the parsed list to 256 ids of at most 256 chars each, collapse
duplicates, and bound the naming-container depth registered per id in
PartialVisitContext so that work stays linear in the id length.

Update Partial Context comments
UIViewRoot.encodeChildren triggered partial rendering whenever
PartialViewContext.isAjaxRequest() was true, even for a request without
a jakarta.faces.ViewState. Such a request is not a postback and is not
restoring a view, so additionally require FacesContext.isPostback()
before partial-rendering; otherwise fall back to a normal render.

Update UIViewRoot comments
@tandraschko

Copy link
Copy Markdown
Member

Please not the Postback/isAjaxRequest change, it breaks the spec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants