<html><head></head><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div dir="ltr" id="yui_3_16_0_1_1457784763197_35367">Adding type: 'POST' did indeed fix the problem, in both the Pharo image, and in VW + HA Proxy.&nbsp;</div><div dir="ltr" id="yui_3_16_0_1_1457784763197_35367">Interesting that VW without HA Proxy worked fine (made for some fun diagnostics).</div><div dir="ltr" id="yui_3_16_0_1_1457784763197_35367"><br></div><div dir="ltr" id="yui_3_16_0_1_1457784763197_35367">Much thanks,</div><div dir="ltr" id="yui_3_16_0_1_1457784763197_35367">Bob</div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: lucida console, sans-serif; font-size: 13px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> On Sunday, March 13, 2016 5:02 AM, Johan Brichau &lt;johan@inceptive.be&gt; wrote:<br></font></div>  <br><br> <div class="y_msg_container"><div id="yiv3915053710"><div>Hi Bob,<div class="yiv3915053710"><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710">Have you tried setting the ajax request to type POST instead of the (standard) GET?</div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710"><div class="yiv3915053710"><div class="yiv3915053710" style="background-color:rgb(255, 255, 255);font-family:'lucida console', sans-serif;font-size:13px;"><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7105" style="white-space:pre-wrap;">                </span>onInput: (</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7108" style="white-space:pre-wrap;">                        </span>html jQuery ajax&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710Apple-tab-span" style="white-space:pre;">                                </span>type: ‘POST’;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7111" style="white-space:pre-wrap;">                                </span>callback: [:stringValue | self enteredText: stringValue]</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7114" style="white-space:pre-wrap;">                                </span>value: html jQuery this value);</div></div></div></div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710">Web servers (and proxies) often set a maximum url length. Since a GET request encodes both the Seaside callback number and the entered text into the url, it will most probably be truncated by the web server.</div><div class="yiv3915053710">In most cases I observed, it was only the entered text that was truncated, but depending on the position of the parameters, it may also truncate the Seaside callback number. As a result, the callback will not be invoked.</div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710">I did not try your example, so if this is not the case, ping me back and I will take a closer look.</div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710">Also: I often ask myself why people copy/paste entire documents in textareas :))</div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710">Hope it helps</div><div class="yiv3915053710">Johan</div><div class="yiv3915053710"><br clear="none" class="yiv3915053710"><div><blockquote class="yiv3915053710" type="cite"><div class="yiv3915053710yqt0639208208" id="yiv3915053710yqt99293"><div class="yiv3915053710">On 12 Mar 2016, at 16:03, <a rel="nofollow" shape="rect" class="yiv3915053710" ymailto="mailto:bobn@rogers.com" target="_blank" href="mailto:bobn@rogers.com">bobn@rogers.com</a> wrote:</div><br clear="none" class="yiv3915053710Apple-interchange-newline"><div class="yiv3915053710"><div class="yiv3915053710"><div class="yiv3915053710" style="background-color:rgb(255, 255, 255);font-family:'lucida console', sans-serif;font-size:13px;"><div class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">Hello,</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">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 class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">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 class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">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 class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">renderContentOn: html</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7090"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7093" style="white-space:pre-wrap;">        </span>html heading: 'Text Editor'.</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7096" style="white-space:pre-wrap;">        </span>html textArea</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7099" style="white-space:pre-wrap;">                </span>style: 'width: 820px; height: 200px; ';&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7102" style="white-space:pre-wrap;">                </span>value: self enteredText;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7105" style="white-space:pre-wrap;">                </span>onInput: (</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7108" style="white-space:pre-wrap;">                        </span>html jQuery ajax&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7111" style="white-space:pre-wrap;">                                </span>callback: [:stringValue | self enteredText: stringValue]</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7114" style="white-space:pre-wrap;">                                </span>value: html jQuery this value);</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7117" style="white-space:pre-wrap;">                </span>onBlur: (</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7120" style="white-space:pre-wrap;">                        </span>(html jQuery id: 'displayedText') load html: [:renderer |&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7123" style="white-space:pre-wrap;">                                </span>self renderEnteredTextOn: renderer]).</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7126" style="white-space:pre-wrap;">        </span>html horizontalRule.</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7129" style="white-space:pre-wrap;">        </span>self renderEnteredTextOn: html.</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7349"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">renderEnteredTextOn: html</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7145"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7148" style="white-space:pre-wrap;">        </span>html div id: 'displayedText'; with: [&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7151" style="white-space:pre-wrap;">                </span>html big: 'size: ', self enteredText size printString; break.</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><span class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7154" style="white-space:pre-wrap;">                </span>html text: self enteredText]</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710" id="yiv3915053710yui_3_16_0_1_1457784763197_7157"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">Thanks,&nbsp;</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734"><br clear="none" class="yiv3915053710"></div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">Bob Nemec</div><div class="yiv3915053710" dir="ltr" id="yiv3915053710yui_3_16_0_1_1457784763197_6734">HTS</div></div></div>_______________________________________________<br clear="none" class="yiv3915053710">seaside mailing list<br clear="none" class="yiv3915053710"><a rel="nofollow" shape="rect" class="yiv3915053710" ymailto="mailto:seaside@lists.squeakfoundation.org" target="_blank" href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br clear="none" class="yiv3915053710">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br clear="none" class="yiv3915053710"></div></div></blockquote></div><br clear="none" class="yiv3915053710"></div></div></div></div><br><br></div>  </div> </div>  </div></div></body></html>