ICEfaces
  1. ICEfaces
  2. ICE-10538

Showcase -> Mobile Cloud Push demo does not update browser asynchronously on Android device

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.0.0.GA
    • Fix Version/s: EE-4.0.0.GA
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      ICEfaces 4 trunk r44179. Showcase cloud push demo, android 4.4.2 and 5.0.2
    • Assignee Priority:
      P1
    • Affects:
      Sample App./Tutorial

      Description

      The priority and simple push messages are not updated on the page when using the cloud push demo with an android device. This is not an issue with 4.0 release, icefaces showcase public demo, or with QA test apps or ios device.
      To reproduce:
      Build showcase and deploy locally
      Using an android device navigate to showcase-mobile
      Go to Cloud Push demo page.
      Enable cloud push.
      Use either Priority Push or Simple Push.
      The page is not updated with the push messages.

        Activity

        Hide
        Liana Munroe added a comment - - edited

        Android galaxy s4 mini using Chrome 39.0.2171.59, Nexus 5 5.0.2, Nexus S 4.1.1
        Scenario 1
        Tested using local Tomcat 7, ICEfaces EE Jenkins build 204, and latest modified bridgeit.js file.
        received NO page updates for either simple push and priority push. When attempting to get a native notification the following server warning was seen:
        Mar 24, 2015 10:21:52 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie
        r broadcast
        WARNING: No notification providers for 'c2dm:APA91bFfqB2NtsDb45X5G9Tt9JeF9coAedx
        L_0GWaFS7tZ50vC41AxcN5iYtm10Io8JLgVBZn1tVx1zz9SzTuBOnqWQCbepkkQ1Bx6anqYHYJcufP85
        Y8gf_2M5Il6pUqLMLIVPK1bP-T8_MYyXdDt3ydU9ry-x_ow' URI registered
        Mar 24, 2015 10:22:32 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie
        r broadcast

        Scenario 2
        Tested using ICEfaces EE Jenkins build 204, no modification to any files.
        received NO page updates for either simple push and priority push. When attempting to get a native notification the following server warning was seen:
        Mar 24, 2015 10:41:08 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie
        r broadcast
        WARNING: No notification providers for 'c2dm:APA91bFfqB2NtsDb45X5G9Tt9JeF9coAedx
        L_0GWaFS7tZ50vC41AxcN5iYtm10Io8JLgVBZn1tVx1zz9SzTuBOnqWQCbepkkQ1Bx6anqYHYJcufP85
        Y8gf_2M5Il6pUqLMLIVPK1bP-T8_MYyXdDt3ydU9ry-x_ow' URI registered

        Show
        Liana Munroe added a comment - - edited Android galaxy s4 mini using Chrome 39.0.2171.59, Nexus 5 5.0.2, Nexus S 4.1.1 Scenario 1 Tested using local Tomcat 7, ICEfaces EE Jenkins build 204, and latest modified bridgeit.js file. received NO page updates for either simple push and priority push. When attempting to get a native notification the following server warning was seen: Mar 24, 2015 10:21:52 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie r broadcast WARNING: No notification providers for 'c2dm:APA91bFfqB2NtsDb45X5G9Tt9JeF9coAedx L_0GWaFS7tZ50vC41AxcN5iYtm10Io8JLgVBZn1tVx1zz9SzTuBOnqWQCbepkkQ1Bx6anqYHYJcufP85 Y8gf_2M5Il6pUqLMLIVPK1bP-T8_MYyXdDt3ydU9ry-x_ow' URI registered Mar 24, 2015 10:22:32 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie r broadcast Scenario 2 Tested using ICEfaces EE Jenkins build 204, no modification to any files. received NO page updates for either simple push and priority push. When attempting to get a native notification the following server warning was seen: Mar 24, 2015 10:41:08 AM org.icepush.servlet.MainServlet$DefaultOutOfBandNotifie r broadcast WARNING: No notification providers for 'c2dm:APA91bFfqB2NtsDb45X5G9Tt9JeF9coAedx L_0GWaFS7tZ50vC41AxcN5iYtm10Io8JLgVBZn1tVx1zz9SzTuBOnqWQCbepkkQ1Bx6anqYHYJcufP85 Y8gf_2M5Il6pUqLMLIVPK1bP-T8_MYyXdDt3ydU9ry-x_ow' URI registered
        Hide
        Liana Munroe added a comment -

        See attached file androidConsole.txt. This is the console output taken after using an android 4.4.2 device and the showcase > Cloud Push Demo.
        To produce this output I deployed the application using the latest modified bridgeit.js file and EE 4.0.0 Jenkins build 204. Then navigated to the Cloud Push demo, then used Simple Push (page did not update), then used Priority Push (page did not update).

        Show
        Liana Munroe added a comment - See attached file androidConsole.txt. This is the console output taken after using an android 4.4.2 device and the showcase > Cloud Push Demo. To produce this output I deployed the application using the latest modified bridgeit.js file and EE 4.0.0 Jenkins build 204. Then navigated to the Cloud Push demo, then used Simple Push (page did not update), then used Priority Push (page did not update).
        Hide
        Mircea Toma added a comment - - edited

        Well, it turns out there was a change that I missed committing into the repository. The 'onbeforeunload' callback registered by ICEpush is now pausing the blocking connection instead of shutting it down to allow it to resume operations later on. This is necessary to account for the "quirky" Chrome (on Android) behaviour which triggers the beforeUnload event before sending the browser into background, without calling the rest of the events when page is brought forward (unload and load events).
        The fix also satisfies ICE-10377 requirements which introduced the 'onbeforeunload' callback.

        Also this is the only fix required, the change to bridgeit.js is not necessary because calling History.pushState will not generate the expected events on browser hide-show.

        Show
        Mircea Toma added a comment - - edited Well, it turns out there was a change that I missed committing into the repository. The 'onbeforeunload' callback registered by ICEpush is now pausing the blocking connection instead of shutting it down to allow it to resume operations later on. This is necessary to account for the "quirky" Chrome (on Android) behaviour which triggers the beforeUnload event before sending the browser into background, without calling the rest of the events when page is brought forward ( unload and load events). The fix also satisfies ICE-10377 requirements which introduced the 'onbeforeunload' callback. Also this is the only fix required, the change to bridgeit.js is not necessary because calling History.pushState will not generate the expected events on browser hide-show.
        Hide
        Mircea Toma added a comment -

        Yes, additional parameters and setup is required since in iOS the APNS messaging service is used.

        Show
        Mircea Toma added a comment - Yes, additional parameters and setup is required since in iOS the APNS messaging service is used.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-4.0.0 Jenkins build 2 using Tomcat 7 on LABS1 instance. Tested on ios 7.2, android 4.4.2, IE 11, FF 34, Chrome 41. All aspects of cloud push, desktop and mobile device are functioning as expected.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-4.0.0 Jenkins build 2 using Tomcat 7 on LABS1 instance. Tested on ios 7.2, android 4.4.2, IE 11, FF 34, Chrome 41. All aspects of cloud push, desktop and mobile device are functioning as expected.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: