[Seaside-dev] snapshotting state after rendering

Julian Fitzell jfitzell at gmail.com
Sat Jan 17 17:03:06 UTC 2009


The current Seaside code seems to be snapshotting state at the end of
both the action and rendering phase. This doesn't seem inherently
obvious to me since we say that you should only change state during
the action phase. It also, of course, results in #updateStates: being
called twice on every component for every iteration of the render loop
instead of once.

I wonder whether the RenderContinuation couldn't/shouldn't just pass
its Snapshot into the next ActionContinuation. The ActionContinuation
would create a new Snapshot after running callbacks and pass it to the
RenderContinuation.

For Javascript callbacks, the ActionContinuation would probably want to do:

(states := states copy) snapshot

in order to avoid modifying the state of the previous render (though
maybe not? Lukas will know what the correct semantics are for that).

Thoughts? Am I forgetting/missing something?

Julian


More information about the seaside-dev mailing list