ICEfaces
  1. ICEfaces
  2. ICE-11301

Window scoped Managed bean re-instantiated on iOS

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: EE-4.1.0.GA
    • Fix Version/s: EE-4.2.0.GA
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      iOS
    • Assignee Priority:
      P2
    • Support Case References:
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      The best workaround for this issue is to use forward navigation (where the redirect tag is not used in the navigation rule). This will ensure that the window state is not lost.
      Show
      The best workaround for this issue is to use forward navigation (where the redirect tag is not used in the navigation rule). This will ensure that the window state is not lost.

      Description

      The follow issue has been reported by a customer:

      "I catch some user interactions with ace:ajax that has a listener method specified.
      The ajaxEventListener is executed as expected when initiated from PC and iOS.

      Under some logical circumstances (business logic) is navigation initiated from the listener method using:
      externalContext.redirect(target);

      This is also working fine when using PC browsers, but when initiated from an iOS device,
      a window scoped bean holding essential information for the following processing is replaced by a newly instantiated and "empty" bean causing various null pointer problems to occur."

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case provided by the customer.

        Here is their description of steps:

        "Submitting new values in the text box causes the window scoped bean to be properly updated.
        Leaving the text entering mode (closing the iPhone keyboard, or just tabbing out on PC) triggers an ajax event, in which the text value is checked.
        If the value in the text box is equal to 'xx', a navigation to page 2 is executed through a call to externalContext.redirect()

        On a PC page 2 shows that the view bean is replaced but the page bean keeps it state.
        On iPhone there is now cleared values for both the view scoped and the window scoped bean.

        I just realized that switching to page to page 2 by the bottom link on iPhone clears the window scoped bean as well!!."

        Show
        Arran Mccullough added a comment - Attached test case provided by the customer. Here is their description of steps: "Submitting new values in the text box causes the window scoped bean to be properly updated. Leaving the text entering mode (closing the iPhone keyboard, or just tabbing out on PC) triggers an ajax event, in which the text value is checked. If the value in the text box is equal to 'xx', a navigation to page 2 is executed through a call to externalContext.redirect() On a PC page 2 shows that the view bean is replaced but the page bean keeps it state. On iPhone there is now cleared values for both the view scoped and the window scoped bean. I just realized that switching to page to page 2 by the bottom link on iPhone clears the window scoped bean as well!!."
        Hide
        Mircea Toma added a comment -

        The mobile Safari browser does not fire the beforeunload event when a page is unloaded. This interferes with our window scope tracking that relies on the mentioned event. We already found this issue in the past, see ICE-10326.

        Show
        Mircea Toma added a comment - The mobile Safari browser does not fire the beforeunload event when a page is unloaded. This interferes with our window scope tracking that relies on the mentioned event. We already found this issue in the past, see ICE-10326 .
        Hide
        Mircea Toma added a comment -

        The best workaround for this issue is to use forward navigation (where the redirect tag is not used in the navigation rule). This will ensure that the window state is not lost.

        Show
        Mircea Toma added a comment - The best workaround for this issue is to use forward navigation (where the redirect tag is not used in the navigation rule). This will ensure that the window state is not lost.
        Hide
        Ken Fyten added a comment -

        Added a note for this and ICE-10326 as a Known Issue to the IF 4.2 Rel Notes wiki page.

        Show
        Ken Fyten added a comment - Added a note for this and ICE-10326 as a Known Issue to the IF 4.2 Rel Notes wiki page.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: