Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.4
-
None
-
None
Description
Access Scoped conversations are cleared after the render response phase.
Consider the following environment:
A page with two links:
LINK #1 - link that stays on the same page, and requires the access scoped beans to be valid,
LINK #2 - link that leaves the current page, invalidating the current access scoped beans.
Consider the following events:
1) A user clicks on LINK #2, and the request is fully processed, invalidating the current access scoped beans in the RENDER_RESPONSE phase.
2) Before the user receives the response page (either by being a trigger happy user, or by slow network speeds, or by network error where the new page never arrives), the user clicks on LINK #1 that requires the access scoped beans to be valid.
This will crash the application, since the access scoped beans were already invalidated when the server processed the LINK #2 event.
The solution might be deferring the the access scoped beans invalidation to BEFORE RESTORE_VIEW:
REQUEST #1, AFTER RENDER_PHASE: Save the previousView to the previousPreviousView. The Access Manager marks the access beans as pre-invalid;
REQUEST #2, BEFORE RESTORE_VIEW: currentView <> previousPreviousView? commit invalidation.
A good side effect would be that at least one back button would be supported.