A little update on this:
I monkeypatched ILCurrentContext class#use:during:, which is called from ILDisptcher#dispatchRequest to save the previous value of the context.
ILCurrentContext class #use: anObject during: aBlock
debugContext := anObject.
^ aBlock
on: self
do:
[ :notification | notification resume: anObject ]
--- and ---
ILCurrentContext class#value
self signal ifNil: [ ^ debugContext ].
debugContext := self signal.
^ self signal
This actually helps a bit, but falls short because ILObject#application is tripped up when subsequent HTTP requests request assets with a different path than the current ILApplication - they overwrite the path in the context and ILRouter then is unable to find the debugged application based on its path.
I'll see if I can hack myself close enough to allow live object debugging, or if it requires a restructuring of the session manager etc.
I recall that the problem was also discussed on the Seaside. I'm a bit surprised that people accept this dev experience since live objects are a key motivation to use Pharo or other live Smalltalks.
-- Siemen