Demands block corruption

Antranig Basman antranig.basman at
Fri May 13 07:24:05 UTC 2011

Hi there JURA - the corruption is indeed related to the use of "args" as I suspected, which explains why we 
are not seeing it more often, since most modern people are now using pseudoarguments. The fix luckily is 
extremely short and you should have no problem "monkey patching" your CSpaceInfusion.js for the release 
tomorrow - the line is the one currently line 429 in FluidIoC.js within embodyDemands - the line now reads

   args[i] = {marker: fluid.EXPAND, value: fluid.copy(arg), localRecord: upstreamLocalRecord};

applying fluid.copy here ensures that the element of the demands block is not destroyed when it reaches 
deferred expansion (in this case by the URLDataSource's own initialisation).

A good landmark for monkey-patching is the immediately previous else block which reads

                 else { // It is the component options

Thanks for the work in constructing the test case, it was 99% of the way to demonstrating the problem :)


More information about the fluid-work mailing list