pharoseasidepharo-6

Is there a limit to the number of nested #call:'s in Seaside?


I'm developing a Seaside Application and I suspect I've reached a point in which I can no longer #call: another component. It's not an issue of my WAComponents, since I tried other messages that end up in #call:, like #confirm:.

I have 4 nested #call:'s in my app (I know, I know... but I'm not looking for design advice, just an answer on this :) ). The 5th just reloads the page, and the called component never appears.

I searched the docs but there's nothing about this, and debugging is really difficult to me, since I'm not familiar with Seaside's inner code.

This is Seaside 3.2 under Pharo 6.1.

Thanks!


Solution

  • There is no limit to the nested #call:s, as correctly indicated in Johan's comment.

    In this particular case, the "null" behavior of #call: (i.e., just reloading the page), was due to an error in the #children method of the parent WAComponent. What was happening here was:

    As the Seaside documentation states, every WAComponent that renders another WAComponent must redefine #children with a collection of all subcomponents. It's easy to forget to implement to do this, since most of the times it's not a show-stopper. Until you find yourself into this kind of scenario.