[Seaside-dev] Issue 310 in seaside: #inNewRenderLoopCall: broken with partial continuations

codesite-noreply at google.com codesite-noreply at google.com
Tue Jan 27 11:59:26 UTC 2009


Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium Version-Seaside2.9

New issue 310 by jfitzell: #inNewRenderLoopCall: broken with partial  
continuations
http://code.google.com/p/seaside/issues/detail?id=310

The current implementation of #inNewRenderLoopCall: does not work with
partial continuations. It worked with the full continuations because of a
fluke when the wrong context chain was unwound.

The method should restore the root component when the continuation is
evaluated. The problem is that there is currently no way to get at the
current root component (nor at the current continuation, which holds it).

This also affects #inNewRenderLoopShow: - #answer does not work for
components displayed this way. I think it might be possible to fix that
once the other issue is fixable.

The most "correct" fix for this, in my opinion, is to store the root
component in the session and backtrack it. The problem is, this really
wants a WARenderLoopSession subclass because the base Session know nothing
about Components. This is only a problem because people are used to
subclassing WASession...

Other possible solutions...
  * SessionContinuations could be made into RequestHandlers (we'd have to
split it into WARequestHandler and WAFilteredRequestHandler) and added to
the context
  * The SessionContinuation could store the root component in the property
dictionary on RequestContext
  * Dunno, other thoughts?

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


More information about the seaside-dev mailing list