You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Jan-Kees van Andel (JIRA)" <de...@myfaces.apache.org> on 2010/11/07 15:56:09 UTC

[jira] Created: (MYFACES-2965) MyFaces 2.0.2 AJAX crashes Safari on iPad

MyFaces 2.0.2 AJAX crashes Safari on iPad
-----------------------------------------

                 Key: MYFACES-2965
                 URL: https://issues.apache.org/jira/browse/MYFACES-2965
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-314
    Affects Versions: 2.0.2
         Environment: iPad Safari
            Reporter: Jan-Kees van Andel
            Assignee: Werner Punz


If you go to http://ipad.parleys.com/parleys-frontend-ipad-1.0/ on your iPad, and then click on the button "Latest", "Top Rated" or some other button that invokes an AJAX request, the browser crashes and goes back to the desktop.

A simple debugging session pointed me to the jsf.ajax.request() invocation, but that's still pretty broad. Reverting to 2.0.1 solved the issue.

The code can be viewed online at: http://code.google.com/p/parleys-html5/source/browse/#svn/trunk/web-ipad/src/main/webapp

Talked offline with Werner about the issue and we think it's somewhere in the 2.0.2 optimizations.

Werner's first guess: "If you want to check yourself you can set an alert in replacenode in Dom.js and see if the code is reached
And see if it finishes.
I am 100 percent sure the problem is there.
But it is just sixth sense on my part.
So just a guessing."

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (MYFACES-2965) MyFaces 2.0.2 AJAX crashes Safari on iPad

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-2965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Werner Punz resolved MYFACES-2965.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.3-SNAPSHOT

resolved

> MyFaces 2.0.2 AJAX crashes Safari on iPad
> -----------------------------------------
>
>                 Key: MYFACES-2965
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2965
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.2
>         Environment: iPad Safari
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>             Fix For: 2.0.3-SNAPSHOT
>
>
> If you go to http://ipad.parleys.com/parleys-frontend-ipad-1.0/ on your iPad, and then click on the button "Latest", "Top Rated" or some other button that invokes an AJAX request, the browser crashes and goes back to the desktop.
> A simple debugging session pointed me to the jsf.ajax.request() invocation, but that's still pretty broad. Reverting to 2.0.1 solved the issue.
> The code can be viewed online at: http://code.google.com/p/parleys-html5/source/browse/#svn/trunk/web-ipad/src/main/webapp
> Talked offline with Werner about the issue and we think it's somewhere in the 2.0.2 optimizations.
> Werner's first guess: "If you want to check yourself you can set an alert in replacenode in Dom.js and see if the code is reached
> And see if it finishes.
> I am 100 percent sure the problem is there.
> But it is just sixth sense on my part.
> So just a guessing."

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-2965) MyFaces 2.0.2 AJAX crashes Safari on iPad

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-2965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929511#action_12929511 ] 

Werner Punz commented on MYFACES-2965:
--------------------------------------

Ok to sum it up, the issue is triggered by a bug in mobile Safari, which is triggered by my XHR level detection code for 
the jsf 2.2 ajax fileupload prototyping. 

(There are currently three xhr levels, 
one being xhr level1, which is the standard XMLHTTPREQUEST object as we all know
XHR Level 1.5 which is a mozilla only mid step which allows file uploads with progressors in mozilla only
and an official XHR LEVEL 2 object which does the same in a cross browser way.

Apparently the check for the existence of an xhr level2 function breaks something in mobile safari
so that a subsequent send crashes the entire browser.
Since the XHR level detection and xhr fileupload is a work in progress and due to browser bugs not yet enabled,
 the best bet probably is simply to disable
the xhr detection for now and send in the bug to Apple.

Apparently, neither desktop Safari, nor Androids Webkit are affected by the bug so it slipped through. 
I did not have a iOS device until recently and was not aware that Apple has excellent emulators for OSX, so
iOS testing was somewhat neglected on my side. I tested against Android and thought that iOS behaves
the same due to having the same browser engine core. Apparently it is not like that.



> MyFaces 2.0.2 AJAX crashes Safari on iPad
> -----------------------------------------
>
>                 Key: MYFACES-2965
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2965
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.2
>         Environment: iPad Safari
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> If you go to http://ipad.parleys.com/parleys-frontend-ipad-1.0/ on your iPad, and then click on the button "Latest", "Top Rated" or some other button that invokes an AJAX request, the browser crashes and goes back to the desktop.
> A simple debugging session pointed me to the jsf.ajax.request() invocation, but that's still pretty broad. Reverting to 2.0.1 solved the issue.
> The code can be viewed online at: http://code.google.com/p/parleys-html5/source/browse/#svn/trunk/web-ipad/src/main/webapp
> Talked offline with Werner about the issue and we think it's somewhere in the 2.0.2 optimizations.
> Werner's first guess: "If you want to check yourself you can set an alert in replacenode in Dom.js and see if the code is reached
> And see if it finishes.
> I am 100 percent sure the problem is there.
> But it is just sixth sense on my part.
> So just a guessing."

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-2965) MyFaces 2.0.2 AJAX crashes Safari on iPad

Posted by "Jan-Kees van Andel (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-2965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929360#action_12929360 ] 

Jan-Kees van Andel commented on MYFACES-2965:
---------------------------------------------

Werner has been debugging his AJAX code. This is the result:

ah main difference between android and apple
both of them run their own javascript engine
they are not the same
it is the exists check for send as binary
it runs now
gotta send that bug to apple
all i do is 'undefined' == typeof xhr.sendAsBinary || null == xhr.sendAsBinary
apparently that is enough to crash the xhr object of safari as soon as send is called
this is a stupid bug on apples side
either way I will add mobile safari detection and remove that code for mobile safari
mobile safari should be sendAsBinary enabled anyway

> MyFaces 2.0.2 AJAX crashes Safari on iPad
> -----------------------------------------
>
>                 Key: MYFACES-2965
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2965
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.2
>         Environment: iPad Safari
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> If you go to http://ipad.parleys.com/parleys-frontend-ipad-1.0/ on your iPad, and then click on the button "Latest", "Top Rated" or some other button that invokes an AJAX request, the browser crashes and goes back to the desktop.
> A simple debugging session pointed me to the jsf.ajax.request() invocation, but that's still pretty broad. Reverting to 2.0.1 solved the issue.
> The code can be viewed online at: http://code.google.com/p/parleys-html5/source/browse/#svn/trunk/web-ipad/src/main/webapp
> Talked offline with Werner about the issue and we think it's somewhere in the 2.0.2 optimizations.
> Werner's first guess: "If you want to check yourself you can set an alert in replacenode in Dom.js and see if the code is reached
> And see if it finishes.
> I am 100 percent sure the problem is there.
> But it is just sixth sense on my part.
> So just a guessing."

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.