Debugging the DOMPartialViewContext.processPartial method:
if (phaseId == PhaseId.RENDER_RESPONSE) {
try {
PartialResponseWriter partialWriter = getPartialResponseWriter();
...
if ((null == oldDOM) && isRenderAll())
{
...
renderState();
renderExtensions();
} else if (null != diffs) {
...
renderState();
renderExtensions();
}
partialWriter.endDocument();
When use the ACE paginator, neither the "if" or "else if" section is meeting the condition so the renderState() and renderExtensions() are never called. It looks like it's a result of the custom update processing that the ACE components do to calculate their own updates. The renderState() section is what calls getViewState and triggers the view state to be saved. By factoring the renderState() and renderExtension() calls so that they are always invoked, the problem goes away.
if (phaseId == PhaseId.RENDER_RESPONSE) {
try {
PartialResponseWriter partialWriter = getPartialResponseWriter();
...
if ((null == oldDOM) && isRenderAll())
{
...
} else if (null != diffs) {
...
}
renderState();
renderExtensions();
partialWriter.endDocument();
This issue should still be present. When this issue was investigated there was a separate pagination issue presenting in the POC.
I will test later today to confirm.