[Seaside] Re: #children and Ajax
itsme213
itsme213 at hotmail.com
Tue Jan 22 13:34:11 UTC 2008
> Without backtracking, but after some Ajax callbacks, I am trying to
> reliably
> reproduce it.
I am getting this "Components not found ..." in the midst of pure Ajax
callbacks.
Seaside2.8a1-lr.533
Scriptaculous-lr.238
Is it considered safe to dynamically add components as below?
C>>children
^ subComponents
C>>render...
onClick: (html updater
...
callback: [:r | subComponents add: C new.
self basicRenderOn: r ])
I might run through this N times successfully adding subcomponents, then on
the (N+1) time it dies. Below is the trace:
Many thanks - Sophie
========================================
Subject: [BUG]WARenderContinuation>>componentsNotFound:
VM: Win32 - a SmalltalkImage
Image: Squeak3.9 [latest update: #7067]
WARenderContinuation>>componentsNotFound:
Receiver: a WARenderContinuation
Arguments and temporary variables:
aCollection: an Array(a MPTreeView)
Receiver's instance variables:
root: a WAToolFrame
states: a WASnapshot(a WAValueHolder contents: a MPPage->a WAValueHolder
conten...etc...
context: a WARenderingContext
WARenderContinuation>>unprocessedCallbacks:
Receiver: a WARenderContinuation
Arguments and temporary variables:
aCollection: an Array(a SUCallback)
owners: an Array(a MPTreeView)
each: a SUCallback
Receiver's instance variables:
root: a WAToolFrame
states: a WASnapshot(a WAValueHolder contents: a MPPage->a WAValueHolder
conten...etc...
context: a WARenderingContext
WARenderContinuation>>processCallbacks:
Receiver: a WARenderContinuation
Arguments and temporary variables:
aRequest: a WARequest POST /map/repo2
lastPosition: 0
callbackStream: a WACallbackStream
each: a WAToolFrame
Receiver's instance variables:
root: a WAToolFrame
states: a WASnapshot(a WAValueHolder contents: a MPPage->a WAValueHolder
conten...etc...
context: a WARenderingContext
[] in WARenderContinuation>>handleRequest: {[self processCallbacks:
aRequest]}
Arguments and temporary variables:
aRequest: a WARequest POST /map/repo2
r: nil
--- The full stack ---
WARenderContinuation>>componentsNotFound:
WARenderContinuation>>unprocessedCallbacks:
WARenderContinuation>>processCallbacks:
[] in WARenderContinuation>>handleRequest: {[self processCallbacks:
aRequest]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockContext>>on:do:
WARenderContinuation>>withNotificationHandler:
WARenderContinuation>>handleRequest:
WARenderContinuation(WASessionContinuation)>>value:
MPSession(WASession)>>performRequest:
[] in MPSession(WASession)>>responseForRequest: {[self performRequest:
aRequest]}
BlockContext>>on:do:
[] in MPSession(WASession)>>withErrorHandler: {[aBlock on: Error do: [:e
| self errorHandler handleError: e. WAP...]}
BlockContext>>on:do:
MPSession(WASession)>>withErrorHandler:
[] in MPSession(WASession)>>responseForRequest: {[self withErrorHandler:
[self performRequest: aRequest]]}
BlockContext>>on:do:
WACurrentSession class(WADynamicVariable class)>>use:during:
[] in MPSession(WASession)>>responseForRequest: {[WACurrentSession use:
self during: [self withErrorHandler: [self pe...]}
[] in MPSession(WASession)>>withEscapeContinuation: {[:cc |
escapeContinuation := cc. aBlock value. self pageIntentionallyLeft...]}
EscapeContinuation class(Continuation class)>>currentDo:
MPSession(WASession)>>withEscapeContinuation:
MPSession(WASession)>>responseForRequest:
[] in MPSession(WASession)>>incomingRequest: {[self responseForRequest:
aRequest]}
BlockContext>>on:do:
[] in WAProcessMonitor>>critical:ifError: {[value := aBlock on: Error do:
anErrorBlock]}
BlockContext>>ensure:
[] in WAProcessMonitor>>critical:ifError: {[[value := aBlock on: Error do:
anErrorBlock] ensure: [semaphore signal]]}
[] in BlockContext>>newProcess {[self value. Processor terminateActive]}
More information about the seaside
mailing list