<html><head></head><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1457784763197_6734">Hello,</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr">We're seeing a problem where entering large text into a textArea causes the component to no longer be responsive. In our case, using VW 7.10.1, the problem only happens if we're using a reverse proxy (either HA Proxy or Apache). To debug the problem, I set up a development VW image running Seaside on port 7771 and HA Proxy on another server, redirecting port 80 to 7771. I then connected two sessions: one directly to the Seaside image, and one by way of the HA Proxy server. The directly connected session works fine, no limit on entered text that I can see. HA Proxy session has problems if the text entered is around 3500 (the exact number varies).&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr"><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr">Cincom suggested putting a break into&nbsp;SiouX.NetHttpResponder&gt;&gt;createRequestFrom: which shows that jQuery callback from onInput is not being sent.</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr"><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr">So, to isolate the problem (and get some help on this forum), I coded an example in a new Pharo 4.0 image, with Seaside 3.1. This example, however, has the same symptom as my VW + HA Proxy configuration: once the entered text is past around 3500, the onInput ajax callback no longer responds. I'm hoping someone can shed some light on this problem... I have some unhappy users.&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr"><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class="">renderContentOn: html</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br id="yui_3_16_0_1_1457784763197_7090" class=""></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7093">        </span>html heading: 'Text Editor'.</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7096">        </span>html textArea</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7099">                </span>style: 'width: 820px; height: 200px; ';&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7102">                </span>value: self enteredText;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7105">                </span>onInput: (</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7108">                        </span>html jQuery ajax&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7111">                                </span>callback: [:stringValue | self enteredText: stringValue]</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7114">                                </span>value: html jQuery this value);</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7117">                </span>onBlur: (</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7120">                        </span>(html jQuery id: 'displayedText') load html: [:renderer |&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7123">                                </span>self renderEnteredTextOn: renderer]).</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7126">        </span>html horizontalRule.</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7129">        </span>self renderEnteredTextOn: html.</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br id="yui_3_16_0_1_1457784763197_7349"></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class="">renderEnteredTextOn: html</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br id="yui_3_16_0_1_1457784763197_7145" class=""></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7148">        </span>html div id: 'displayedText'; with: [&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7151">                </span>html big: 'size: ', self enteredText size printString; break.</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><span class="" style="white-space:pre-wrap;" id="yui_3_16_0_1_1457784763197_7154">                </span>html text: self enteredText]</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br id="yui_3_16_0_1_1457784763197_7157" class=""></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class="">Thanks,&nbsp;</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class=""><br></div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class="">Bob Nemec</div><div id="yui_3_16_0_1_1457784763197_6734" dir="ltr" class="">HTS</div></div></body></html>