As reported by Alok Menghrajani the following program:
@client foo() = <>in foo</>
server = one_page_server("Foo", foo)
hangs the browser. That's a bug, as we used to have a runtime error for this.
It does not hangs the client, it hangs the server response to the client.
Because the client cannot be reached, because it does not exists yet.
I don't understand how the server could even try to talk to the client (the page number doesn't exists yet).
Are you sure the run-time error was working in this particular case ?
First, I can add a check that rejected top-level 'client' value use on the server.
Second, the remote call should errors if no ping has ever been receive for the current page.
Rudy, I'm quite sure that used to be a warning in situations like this (try to call the client before it got the response from the server), although I'm not sure whether it worked in this particular situation.
Both improvements that you suggest sound good to me and I think they'll be very valuable to add.