CreamTec

AjaxSwing => Community Technical Support => : aevett March 04, 2009, 05:40:29 PM

: Problem with router.updateInterval not occurring
: aevett March 04, 2009, 05:40:29 PM
With the 2.4 version sessions are now timing out in our web portal application.  I think we were relying on router.updateInterval to keep sessions alive.  But now that disableAjax is being set to true as reflected in the following debug:


2009/03/04 15:59:16:213 : WebServerService - Thread-272 : [com.creamtec.ajaxswing.ServletHelper] Setting disableAjax=true because of query string parameters reportName=ManualFileTransfer&jSessionId=1ivcxpq47x7iq


router.updateInterval is no longer applicable.

But why isn't window.*.keepAlive=true keeping the session alive?  I've attached the server and client debug files.
: Re: Problem with router.updateInterval not occurring
: Support Team March 05, 2009, 10:48:02 AM
We will investigate and get back to you on this shortly.
: Re: Problem with router.updateInterval not occurring
: Support Team March 09, 2009, 01:49:34 PM
This was identified as a bug in AjaxSwing. It is fixed, we are re-testing session tracking. Do you need a patch right away?

There is a few small issues we are fixing in Beta so if you wait until the end of the week you'll get the RC. Otherwise we can issue a patch.
: Re: Problem with router.updateInterval not occurring
: aevett March 09, 2009, 01:50:43 PM
We can wait till the end of the week.  Thanks.
: Re: Problem with router.updateInterval not occurring
: aevett March 12, 2009, 03:31:31 PM
After further review, the result of disabling ajax has caused our portal web page to be less usable.  For example:
- frequent full screen refreshes
- must right-click unselected table row twice to select menu item
- transient "please wait" dialogs are now not being removed because no longer have an update interval

In short, we need ajax to remain enabled.

: Re: Problem with router.updateInterval not occurring
: Support Team March 12, 2009, 05:29:24 PM
Just to clarify this, when a parameter is passed in the URL, AJAX is only disabled until the first submit, after which it becomes enabled automatically. Are you saying that this whole approach breaks the other functionality?

Or are you setting disableAjax to false in the application configuration file?

disableAjax mode is not fully supported, it's more for debug testing. Some features require AJAX, so at the configuration level it should always be on.
: Re: Problem with router.updateInterval not occurring
: aevett March 13, 2009, 12:09:48 PM
We have disableAjax=false in our properties file.  With the symptoms we're seeing (including no updateInterval), it would appear that AJAX is not being re-enabled after the first submit.
: Re: Problem with router.updateInterval not occurring
: Support Team March 13, 2009, 03:47:18 PM
disableAjax gets re-enabled in our testing. Please download RC release, try it again, and if disableAjax doesn't get re-enabled please submit the log file.

If it doesn't work, it might be good for you to check if the standard install of AjaxSwing works fine. Run WindowsThemeDemo with a URL parameter, e.g.

http://localhost:8040/ajaxswing/apps/WindowsThemeDemo?testParam=value

which should put the page into disabled ajax mode. Then click on table row and it should switch to URL without the parameter and AJAX should be enabled.
: Re: Problem with router.updateInterval not occurring
: aevett March 16, 2009, 04:01:16 PM
Downloaded the RC release, and retested.  Web browser sessions are no longer timing out, so the original reported problem appears to be resolved.

But we're still seeing where AJAX appears to be disabled with each browser request, including the ping request.  I've attached the log files.
: Re: Problem with router.updateInterval not occurring
: Support Team March 16, 2009, 06:43:41 PM
Is there actually a problem you experience, or are you just concerned because you are seeing log messages saying that ajax is disabled?

I don't see anything in the logs suggesting that there is a problem. ping() request doesn't use disableAjax parameter so it is not affected by it.

: Re: Problem with router.updateInterval not occurring
: aevett March 17, 2009, 08:52:50 AM
Yes, we do see problems.  Our frames have tables with right-click menus.  When we right-click a table row that was not already selected, the menu appears, but then the full page is blanked and redrawn and the menu disappears.  We then have to right-click again to get the menu back.  And in general, performance seems sluggish.  This seems to indicate that Ajax is not being re-enabled.
: Re: Problem with router.updateInterval not occurring
: Support Team March 17, 2009, 10:52:44 AM
This is a "pick-your-poison" situation. When you pass a URL parameter (?param=value) it has to be removed to avoid being passed in the future. The only clean way to remove that parameter is through a full page submit. So we should assume that there has to be 1 full page submit before AJAX submits can continue.

You mention that AJAX is not being re-enabled. Can you start with a parameter in the URL, do a few actions that trigger a submit, and then send us the log files? You can verify that the AJAX mode is working by looking at the log file. At the end of the request processing there should be a message "Returning partial update" in AJAX mode, or "Returning full HTML page" in non-AJAX mode.

Right now our implementation says that "first submit is full page submit". If that first submit happens to be a right mouse click on the table that changes table selection, that selection change result in full page submit (and a long wait, unfortunately). After that however, all submits should be AJAX submits so there should be no performance degradation. Is that not what you are experiencing?

Another alternative is to trigger a full page submit as soon as the URL parameter is detected. This would mean that the URL will never show the query parameters, so if a page is submitted to http://localhost:8040/ajaxswing/apps/myapp?param=value then the browser will be redirected to http://localhost:8040/ajaxswing/apps/myapp via a full page submit during the same request. It means waiting a little longer during the parameterized request but not having to experience a full page submit later.

It sounds like the second option is what you prefer - is that true? Do you see any issues with it?

We already have an example on how to remove URL parameters through a redirect (the example only works for "test" URL parameter):

:
    if (agent.getRequestData().getParams().get("test") != null) {
         TraceMgr.trace("Remove query string by redirecting to " + agent.getInitData().getSubmitURL());
         responseData.setRedirectURL(agent.getInitData().getSubmitURL());
    }

But we can make this a default product behavior, although it would require some testing.
: Re: Problem with router.updateInterval not occurring
: aevett March 17, 2009, 03:51:45 PM
We tried the test where we did the following:

1. Used an URL starting with a parameter http://localhost:3080/VLPortal?test=testing
2. Select ManualFileTransfer frame.
3. Right-click on one table item of this frame.
4. Right-click on another table item of this frame.
5. Switch to FileTransferHistory frame.

Debug files are attached and we only see "Returning full HTML page".  With this test or previous testing, we are seeing performance degradation with each page submit not just the first one.

As you expected, we do prefer the second alternative and don't foresee issues.  Is this a code change for you in addition to the redirection?  We can do the redirection if you like, we're just not sure where it goes (e.g. RouterRequestFilter.postProcessRequest?).
: Re: Problem with router.updateInterval not occurring
: Support Team March 25, 2009, 10:41:46 PM
We've changed the product to automatically refresh the page if URL parameters are specified, without disabling AJAX. So in the final version of 2.4.0 this issue should be resolved.
: Re: Problem with router.updateInterval not occurring
: aevett March 26, 2009, 09:31:53 AM
Great!  Will this change be available in the RC2 build?
: Re: Problem with router.updateInterval not occurring
: Support Team March 26, 2009, 09:50:41 AM
Absolutely.
: Re: Problem with router.updateInterval not occurring
: aevett March 30, 2009, 12:08:59 PM
We're having some trouble with this change.  For this change to work, do we still need to add the redirect you mentioned earlier in this thread?  If so, does it go in RouterRequestFilter.postProcessRequest?
: Re: Problem with router.updateInterval not occurring
: Support Team March 30, 2009, 12:18:19 PM
No, you shouldn't have to implement anything. The way it should work is, if a request with URL parameter was submitted to AjaxSwing, it would emulate the action, then send a redirect, and then do the rendering. So if something like this was sent:

http://localhost:8040/ajaxswing/apps/WindowsThemeDemo?param=test

then after the whole cycle the URL should remain as

http://localhost:8040/ajaxswing/apps/WindowsThemeDemo

and the application should still be in AJAX mode. If this is not what you are seeing, please capture the logs and attach them to this post.

: Re: Problem with router.updateInterval not occurring
: aevett March 31, 2009, 08:39:15 AM
With the latest patch from CreamTec and with html.disableAjax=false, the following problems are observed.

• Right-click menus in general are problematic.  Their results are not consistent however.  The following was observed.
    o most of the time, it simply hangs the browser.
    o sometimes the right click menu doesn’t “stick” – the right-click menu displays briefly but disappears before you can select a menu item.  This condition does not cause the browser to hang.
    o once, it was observed that the right-click menu basically worked; but you still needed to click twice.

• Pushbuttons exhibit similar issues as right-click menus, and their results are not consistent.  For the File Transfer History, “Refresh”, “Filter” and “Generate Report” buttons, the following was observed.  (all other buttons seems to operate correctly)
    o most of the time, it simply hangs the browser.
    o sometimes, clicking on the button does not hang the browser; but the action is simply ignored.

Attached is a zip file containing the debug for a right-click, hang-up problem.  The following steps were taken:
1. Bring up portal
2. Bring up ManualFileTranfser frame
3. Right-click an item in the table…right click menu is displayed, but browser is now hung
4. Wait ~20 seconds
5. Kill the browser and shut down the service
: Re: Problem with router.updateInterval not occurring
: Support Team March 31, 2009, 06:46:46 PM
It is not obvious from the logs what's causing the browser to hang. We've added some logging and made a slight change in how the refresh is issued. Can you please try with the following jars and let us know if this resolved the problem? If not, please send the logs again.

http://creamtec.com/products/ajaxswing/install/2.4.1/ajaxswing.jar.jdk1.5
http://creamtec.com/products/ajaxswing/install/2.4.1/asboot.jar.jdk1.5
: Re: Problem with router.updateInterval not occurring
: aevett April 01, 2009, 10:40:15 AM
With the new jars, things don't appear any better.  Now we get hung up trying to bring up either of the frames.  Here are steps corresponding to the attached debug.

1. Bring up portal
2. Click on Manual File Transfer menu item...frame never displayed...browser seems to be looping
3. Wait ~20 seconds
4. Kill the browser and shut down the service

I'm wondering if our web server or web server's sendRedirect() method isn't functioning the way you expect???  The webserver.log in the attachment shows the redirect Location: still containing the reportName= parameter.
: Re: Problem with router.updateInterval not occurring
: Support Team April 02, 2009, 12:20:24 AM
Looks like this issue is actually caused by a bug in your web server. There was an endless loop of redirection if the request URL has a parameter.  And the reason it's happening is because your implementation of response.encodeURL() appends the entire query string instead of just appending JSESSIONID. Look at this code:

:
   TraceMgr.trace(this, "*** submitURL = " + submitURL + ", encoded = " + response.encodeURL(submitURL));

And what it produced in the log file:

:
2009/04/02 00:16:37:459 : WebServerNoTrack - WebServerService - Thread-252 : [com.creamtec.ajaxswing.ServletHelper] *** submitURL = http://localhost:5080/VLTrader-VL0741-XL4210, encoded = http://localhost:5080/VLTrader-VL0741-XL4210?appParams=alex&jSessionId=bkenkmnp918ic

I was expecting to see encoded URL like this:

:
http://localhost:5080/VLTrader-VL0741-XL4210, encoded = http://localhost:5080/VLTrader-VL0741-XL4210?jSessionId=bkenkmnp918ic
 Is that correct?

: Re: Problem with router.updateInterval not occurring
: kdiamond April 02, 2009, 03:02:14 PM
I am working on this issue for Andy, so he asked me to reply.

We changed our web server's response.encodeURL() method to append only the sessionID as you suggested.   

Here are the results, along with the debug files.

Steps:

1.  Brought up VLportal...displays home page in the usual manner.
2.  Selected Manual File Transfer...brings up embedded VLportal menu, displaying home page.
3.  Selected Manual File Transfer within embedded VLportal menu...brings up another embedded VLportal, displaying home page.
4.  Selected File Transfer History within embedded, embedded VLportal menu...brings up another embedded VLportal, displaying home page.
5.  Killed browser and then service.

Thank you.
: Re: Problem with router.updateInterval not occurring
: Support Team April 02, 2009, 06:01:38 PM
I don't think you've quite fixed it. Looking at the log I see:

Redirecting via browser to http://localhost:3080/VLPortal?1gxp4erxjj93n

Instead of what I'd expect to see:

Redirecting via browser to http://localhost:3080/VLPortal?jSessionId=1gxp4erxjj93n

Can you double check your encodeURL implementation? Maybe add some logging?
Also, if the browser stores cookies you don't even need to append jSessionId URL parameter.

And it would be great if you can try this on Tomcat or another web server to determine for sure if it's your web server or AjaxSwing.

Also, from your description, is the problem that the execution of menu commands does not change the appearance of the VLPortal?

Another inexplicable thing in the log is this segment:

2009/04/02 13:26:39:045 : WebServerNoTrack - WebServerService - Thread-266 : [com.creamtec.ajaxswing.ServletHelper] Redirecting via browser to http://localhost:3080/VLPortal?1gxp4erxjj93n
2009/04/02 13:26:39:045 : WebServerNoTrack - WebServerService - Thread-266 :
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.AjaxSwingRouter] doPost, path = null, characterEncoding = null
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] parseAppNameAndAction, servletPath = /VLPortal
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] getAppDesc for app name = vlportal
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] getClientAgent for session com.cleo.webserver.WebServerSession@6b51d8, session id = 30949756
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] Found existing agent
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper]  param = CLEO.userName, value = kdiamond
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper]  param = CLEO.sessionId, value = 1gxp4erxjj93n
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper]  param = reportName, value = ManualFileTransfer
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] Invalid form submitted, no request id is found. Refreshing the page
2009/04/02 13:26:40:685 : WebServerNoTrack - WebServerService - Thread-270 : [com.creamtec.ajaxswing.ServletHelper] Request query string = reportName=ManualFileTransfer


You can see that AjaxSwing sends a redirect to http://localhost:3080/VLPortal?1gxp4erxjj93n
But the next request coming from the browser still contains query parameter reportName, which really shouldn't happen. Can this be some caching in your web server?
: Re: Problem with router.updateInterval not occurring
: aevett April 03, 2009, 09:29:14 AM
We'll look to make sure we've fixed encodeURL correctly.

But I think there's a fundamental problem with the redirection idea, at least in the context of our web portal application.  The same resource path is used for both the main freemarker page and the ajaxswing frame.  The way that our servlet knows to send the request to freemarker or ajaxswing is by whether the resourcename parameter is present or not.  When the resourcename parameter gets stripped in the redirect, then our code sends the request to freemarker rather than ajaxswing.

In your debug snippet below, I think what is happening is that the redirect goes to freemarker so there's no ajaxswing debug again until the manual file transfer report is picked again in the browser.
: Re: Problem with router.updateInterval not occurring
: Support Team April 03, 2009, 02:54:19 PM
I agree, it looks like there is a design issue. But it seems to me that the redirect in itself is not the problem. You guys were the ones who pointed out that you want the URL query parameters removed on subsequent requests, and we've implemented it because it makes sense.

If I don't misunderstand your explanation, it seems that you should not use the presence of "reportName" parameter to determine if the request should go to AjaxSwing or FreeMarker. Why not map FreeMarker servlet to *.html, as we have done in the portal sample app that we've built for you? Then you'll know that URL http://localhost:3080/VLPortal is always for AjaxSwing, with or without parameters. URLs such as http://localhost:3080/welcome.html will go to FreeMarker.

Can you maybe use a different context mapping, e.g.:

AjaxSwing:  http://localhost:3080/VLPortal
FreeMarker: http://localhost:3080/VLPortal/html

BTW, is encoded URL below even valid?

http://localhost:3080/VLPortal?1gxp4erxjj93n

Let us know if you want to talk this over the phone.
: Re: Problem with router.updateInterval not occurring
: aevett April 03, 2009, 03:59:13 PM
As you suggest, we'll try different ways to direct requests to AjaxSwing and FreeMarker.  We don't want the initial request to require .html, so we may also need to look for lack of a session ID as well.

We did have another bug in encodeURL(), but we've corrected that now.

We really do not want to have a different resource path for AjaxSwing versus FreeMarker, so we think the best option for us is using the extension.  We'll let you know...
: Re: Problem with router.updateInterval not occurring
: kdiamond April 03, 2009, 05:38:03 PM
We have now fixed the encodeURL() method, and we have implemented your suggestion to map *.html to FreeMarker and let everything else go through AjaxSwing.  We are happy to say that all things seem to be operating properly now.  Sorry...we should have noticed this earlier.

Thank you for all your help with this issue.
: Re: Problem with router.updateInterval not occurring
: Support Team April 03, 2009, 05:50:59 PM
That's a happy Friday ending. Have a nice weekend:-)
: Re: Problem with router.updateInterval not occurring
: kdiamond April 06, 2009, 12:47:16 PM
We seem to be having a new strange problem -- one that we did not observe when we last reported to you.  Do you know why we would receive a GET request formatted as follows?

<<<<<< Request from Socket[addr=/127.0.0.1,port=1551,localport=3080] <<<<<<
GET /%22http:////localhost:3080//web_docs//images//ajaxswing//close.gif/%22 HTTP/1.1

The following format is what we'd expect:

<<<<<< Request from Socket[addr=/127.0.0.1,port=3687,localport=1080] <<<<<<
GET /web_docs/images/ajaxswing/close.gif HTTP/1.1

Please let us know your thoughts.  Also, attached is the complete debug file if you need it.

Thank you.
: Re: Problem with router.updateInterval not occurring
: Support Team April 06, 2009, 03:24:37 PM
It looks like the image URL is now URL-encoded. My first guess is that your latest fixes for encodeURL() have been applied in places it shouldn't be.

Can you open the AjaxSwing-generated HTML page and look at the HTML source? Are <img> URLs encoded or not? If they are not encoded in the HTML page, then the problem is definitely in the web server code.

If they are encoded on the page, please download the jars below and apply them as a patch to your AjaxSwing. The patch contains added logging for URLs we get from the web server. Rerun the application, capture the log files and post them here. You can search the log file for "submitURL =" string which will show you the URLs. They should NOT be URL-encoded, meaning that they shouldn't contain % characters unless there is a special character in the query string.

http://creamtec.com/products/ajaxswing/install/2.4.1/ajaxswing.jar.jdk1.5
http://creamtec.com/products/ajaxswing/install/2.4.1/asboot.jar.jdk1.5
: Re: Problem with router.updateInterval not occurring
: kdiamond April 06, 2009, 05:11:05 PM
We have been having difficulties getting at the AjaxSwing-generated HTML.  We are using the most recent version of View Source Chart within Firefox, and it seems the <iframe> is not supported because we cannot see the details.  See attached screen shot.

Do you have any further suggestions for viewing the AjaxSwing-generated HTML?
: Re: Problem with router.updateInterval not occurring
: Support Team April 06, 2009, 05:49:56 PM
You have several options of getting to IFRAME source.

First and simplest, just type in the IFRAME URL into the browser address bar so that it goes to it directly. E.g. you should be able to type http://localhost:3080/VLPortal?reportName=FileTransferHistory and see the page. Then you can click browser Refresh button to ensure that there are no AJAX updates on the page, and then choose View->Page Source menu item.

Another way would be to open AjaxSwing's page template (normally AjaxSwing/conf/templates/default-page/body-header.html) and remove oncontextmenu event handler. Restart web server and after IFRAME loads right mouse click on the frame somewhere. You should select This Frame->View Frame Source to view the source.

You can also view the source in FireBug, which is the best way to see what's going on in the browser.
: Re: Problem with router.updateInterval not occurring
: kdiamond April 07, 2009, 12:14:55 PM
With your suggestions, we were able to capture an AjaxSwing HTML page.  The page we were able to grab had one image on it for displaying a down arrow.  The URL is below.  Please note that this particular page does not have any problems. 

<img src="http://localhost:3080/web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif">

Our main problem seems to stem from a JOptionPane that is displayed after a file upload.  The URLs associated with the images on that particular pane seem to be the troubled ones.  Please look at the last three URLs below; these are the ones associated with the images on this option pane.

GET /web_docs/images/com/cleo/lexicom/images/VLTrader_splash_small.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/ajaxswing/close.gif HTTP/1.1
GET /web_docs/images/java/Question.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/images/people.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/images/leftarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/images/rightarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /web_docs/images/com/cleo/lexicom/beans/images/downarrow.gif HTTP/1.1
GET /%22http:////localhost:3080//web_docs//images//ajaxswing//close.gif/%22 HTTP/1.1
GET /%22http:////localhost:3080//web_docs//images//com//cleo//lexicom//images//people.gif/%22 HTTP/1.1
GET /%22http:////localhost:3080//web_docs//images//java//Inform.gif/%22 HTTP/1.1

Next, we installed the jars you provided with additional debug printing for the submitURL.  The debug is attached.

One final note, our encodeURL() method is not being invoked in the troubled area.

Thank you.
: Re: Problem with router.updateInterval not occurring
: Support Team April 07, 2009, 01:22:03 PM
The problematic URLs seem to be URL encoded. %22 is the encoding for quote, and I'm not quite sure where the quotes come from. In the logs URLs used by AjaxSwing appear to be normal:

submitURL = http://localhost:3080/VLPortal?jSessionId=165i9dmhvzd3t, serverURL = http://localhost:3080

I think we really need to see the HTML page that contains problematic images. This will clearly tell if the issue is with AjaxSwing or not, and what is the issue. If the JOptionPane is the one giving problems, get to that page in the application, then hit Refresh button of the browser, and then capture the HTML page. Zip it and attach to this post.

Would it be possible to do the same test with html.disableAjax=true?

Would it be possible for you to email us a link to your application? This way we can look at the page ourselves and that would help a lot (and save your time). This would be the best option.



: Re: Problem with router.updateInterval not occurring
: kdiamond April 07, 2009, 05:34:43 PM
We agree with your assessment of the problematic URLs.  We're also perplexed about the quotes.  Unfortunately, it is not possible for us to capture the HTML page that contains the problematic images -- primarily because the we never see the problematic JOptionPane that contains the images, because our webserver is rejecting the bad URLs.

We ran the test with html.disableAjax=false and it worked.  No problems.

Unfortunately, it it not possible provide a link to our application at this time.  So, I'll attempt to provide you with some more background information.  This problem only seems to be happening with this particular JOptionPane that is being displayed within our openFile() method.  This is an implemented method of the com.creamtec.ajaxswing.support.FileOpener interface.  Here are the steps that are followed: 

1.  Select "Upload" button.  "Upload" is the JButton that has been registered through com.creamtec.ajaxswing.support.ComponentUtils.setFileOpener().
2.  The file chooser is displayed.
3.  The file is chosen for upload.
4.  The "Open" button is pressed.
5.  The upload takes place.
6.  openFile() is invoked.
7.  An attempt is made to show the message pane that has the three bad <img> URLs.  This hangs the browser.  This message pane is simply informing the user that the upload has completed.

Hopefully this information helps.  Thank you.
: Re: Problem with router.updateInterval not occurring
: Support Team April 07, 2009, 05:57:03 PM
Your explanation helps. We'll try to reproduce it and get back to on you this one.

: Re: Problem with router.updateInterval not occurring
: Support Team April 07, 2009, 06:05:53 PM
We were able to reproduce the problem in our demo application by following your code. We'll fix it and provide a patch shortly.
: Re: Problem with router.updateInterval not occurring
: kdiamond April 07, 2009, 06:06:35 PM
Great news...thank you!
: Re: Problem with router.updateInterval not occurring
: Support Team April 07, 2009, 06:31:56 PM
I believe we have fixed the problem. Please download patched ajaxswing.js file and copy it to AjaxSwing web app scripts/ajaxswing directory, overwriting the existing file.

http://creamtec.com/products/ajaxswing/install/2.4.1/ajaxswing.js

Let us know if the fix works and that it doesn't break other functionality.
: Re: Problem with router.updateInterval not occurring
: kdiamond April 08, 2009, 10:18:38 AM
We are happy to say that the latest problem is now resolved and all regression testing looked very good as well.

Thank you again for all your help!