ICEfaces
  1. ICEfaces
  2. ICE-1872

Ajax Push does not work in Opera after redirect

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.6.1
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      Opera, Mobile Opera

      Description


      From the forum post:

      I just noticed that the server push doesn't always work with Opera (and mobile) anymore, it's working fine on other browser. I tried the auction monitor and timezone tutorial and they work with Opera, the problem comes when changing view.

      So I used the timezone7 tutorial and added 2 pages that go from one to another with just showing the clock. It's working fine with IE and Firefox, but on Opera the clocks stops ticking when going to the second page.

      Here's a sample WAR to witness the problem

      BTW it was working fine with v1.5.3

        Activity

        Ted Goddard created issue -
        Ted Goddard made changes -
        Field Original Value New Value
        Fix Version/s 1.6.1 [ 10070 ]
        Ted Goddard made changes -
        Assignee Mircea Toma [ mircea.toma ]
        Hide
        Mircea Toma added a comment -

        Opera doesn't invoke document.unload listeners when is changing the page or closing the window. The Bridge relies on this behaviour to clear up the marker cookie used to inform the other windows if the persistent connection is started or stopped.

        Show
        Mircea Toma added a comment - Opera doesn't invoke document.unload listeners when is changing the page or closing the window. The Bridge relies on this behaviour to clear up the marker cookie used to inform the other windows if the persistent connection is started or stopped.
        Ken Fyten made changes -
        Assignee Priority P3
        Hide
        Mircea Toma added a comment -

        Well, I actually fixed this issue in commit #14622 (icefaces/bridge/src/application.js) by relying on document.unload to shutdown the Bridge (formerly document.onbeforeunload was used).

        There's one remaining limitation, on document.onbeforeunload the Bridge will send the list of views that need to be disposed (when running in concurrentDOMViews=true) but Opera won't send the message because it doesn't support document.onbeforeunload feature at all. If the user will reload the page repeteadly it will cause rapid memory increase on the server side.

        Show
        Mircea Toma added a comment - Well, I actually fixed this issue in commit #14622 (icefaces/bridge/src/application.js) by relying on document.unload to shutdown the Bridge (formerly document.onbeforeunload was used). There's one remaining limitation, on document.onbeforeunload the Bridge will send the list of views that need to be disposed (when running in concurrentDOMViews=true) but Opera won't send the message because it doesn't support document.onbeforeunload feature at all. If the user will reload the page repeteadly it will cause rapid memory increase on the server side.
        Hide
        Mircea Toma added a comment -

        See described limitation.

        Show
        Mircea Toma added a comment - See described limitation.
        Mircea Toma made changes -
        Workaround Description Run applications in concurrentDOMViews=false mode.
        Workaround Exists [Yes]
        Affects [Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration]
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P3
        Assignee Mircea Toma [ mircea.toma ]
        Hide
        Ted Goddard added a comment -

        Re-opening case since it is a blocker for the AjaxWorld demo on mobile opera.

        Show
        Ted Goddard added a comment - Re-opening case since it is a blocker for the AjaxWorld demo on mobile opera.
        Ted Goddard made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Hide
        Ted Goddard added a comment -

        concurrentDOMViews=false does not appear to be a workaround.

        http://component-showcase.icefaces.org

        does not use concurrentDOMViews, yet the progress bar ceases to work when the page is reloaded.

        Show
        Ted Goddard added a comment - concurrentDOMViews=false does not appear to be a workaround. http://component-showcase.icefaces.org does not use concurrentDOMViews, yet the progress bar ceases to work when the page is reloaded.
        Hide
        Ted Goddard added a comment -

        confirmed that Ajax Push does not work after page reload in Mac Opera 9.23.

        Show
        Ted Goddard added a comment - confirmed that Ajax Push does not work after page reload in Mac Opera 9.23.
        Mircea Toma made changes -
        Assignee Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14822 Fri Sep 14 11:35:39 MDT 2007 mircea.toma Remove the blocking connection marker so that everytime a new window (== bridge instance) is opened the blocking connection will be re-established -- ICE-1872
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/bridge/src/connection.async.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14823 Fri Sep 14 11:37:38 MDT 2007 mircea.toma Remove the blocking connection marker so that everytime a new window (== bridge instance) is opened the blocking connection will be re-established -- ICE-1872
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/bridge/src/connection.async.js
        Hide
        Mircea Toma added a comment -

        Remove the blocking connection marker on bridge load so that everytime a new window (== bridge instance) is opened the blocking connection will be re-established.

        Show
        Mircea Toma added a comment - Remove the blocking connection marker on bridge load so that everytime a new window (== bridge instance) is opened the blocking connection will be re-established.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Brad Kroeger made changes -
        Link This issue blocks ICE-1996 [ ICE-1996 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15074 Thu Nov 01 15:54:12 MDT 2007 mircea.toma Migrate fix into 1.6 branch.
        ICE-2316, ICE-1872
        Files Changed
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/bridge/src/connection.async.js
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Mircea Toma [ mircea.toma ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Ted Goddard
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: