ICEmobile
  1. ICEmobile
  2. MOBI-154

Rapid submits in Android container can cause flip switch component state to get out of sync.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.1 Final
    • Component/s: None
    • Labels:
      None
    • Environment:
      ICEmobile/Android

      Description

      The strategy of discarding submits when they happen too rapidly is causing issues with the flip switch state, and component state changes, but submit is discarded, so server state never changes. Will investigate queueing submits in the container vs discarding them.

        Activity

        Steve Maryka created issue -
        Hide
        Steve Maryka added a comment -

        The discard logic is in the native JS.

        //override primitive submit function
        namespace.submitFunction = function(element, event, options) {
        var source = event ? event.target : element;
        var form = ice.formOf(element);
        if (form.elements['javax.faces.source'])

        { //submit is in progress, but callback not completed by container return; }
        Show
        Steve Maryka added a comment - The discard logic is in the native JS. //override primitive submit function namespace.submitFunction = function(element, event, options) { var source = event ? event.target : element; var form = ice.formOf(element); if (form.elements ['javax.faces.source'] ) { //submit is in progress, but callback not completed by container return; }
        Steve Maryka made changes -
        Field Original Value New Value
        Assignee Steve Maryka [ steve.maryka ] Ted Goddard [ ted.goddard ]
        Hide
        Ted Goddard added a comment -

        It might be best to make use of the queue implemented in jsf.js. To take advantage of this, we would need to hook into jsf.js differently.

        Show
        Ted Goddard added a comment - It might be best to make use of the queue implemented in jsf.js. To take advantage of this, we would need to hook into jsf.js differently.
        Hide
        Ted Goddard added a comment -

        Mojarra and MyFaces implement their client-side queue in substantially different ways; further, the Mojarra queue implementation is buried as private methods within the request implementation.

        Therefore, it is likely easiest to implement a queue in the native-interfaces.js or in the native layer.

        Show
        Ted Goddard added a comment - Mojarra and MyFaces implement their client-side queue in substantially different ways; further, the Mojarra queue implementation is buried as private methods within the request implementation. Therefore, it is likely easiest to implement a queue in the native-interfaces.js or in the native layer.
        Hide
        Ted Goddard added a comment -

        At least in the case of android, it looks like it should be possible to queue up "context" instances (which contain IDs and serialized form contents). When handleResponse from the previous event is invoked, the next context could be taken from the queue and submitted.

        Show
        Ted Goddard added a comment - At least in the case of android, it looks like it should be possible to queue up "context" instances (which contain IDs and serialized form contents). When handleResponse from the previous event is invoked, the next context could be taken from the queue and submitted.
        Hide
        Ted Goddard added a comment -

        Is this still observed? (I suspect so, since the queue has not been implemented.)

        Show
        Ted Goddard added a comment - Is this still observed? (I suspect so, since the queue has not been implemented.)
        Ted Goddard made changes -
        Assignee Ted Goddard [ ted.goddard ] Steve Maryka [ steve.maryka ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #31372 Tue Oct 09 15:45:50 MDT 2012 steve.maryka Mobi-154: Queue implimentation for handling requests and responses through the container. Still need native JS implementation that eliminates single-threaded context variable.
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/integration/util/src/org/icemobile/client/android/UtilInterface.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #31804 Fri Oct 26 16:00:44 MDT 2012 ted.goddard append encoded JSF parameters rather than use hidden fields (MOBI-154)
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/android/container/assets/icefaces/native-interface.js
        Hide
        Ted Goddard added a comment - - edited

        Believed to be fixed, so assigning to Steve for verification.

        Show
        Ted Goddard added a comment - - edited Believed to be fixed, so assigning to Steve for verification.
        Hide
        Ted Goddard added a comment - - edited

        Retested on samsung tablet after Greg's discovery of syntax error. The fix still appears valid.

        Show
        Ted Goddard added a comment - - edited Retested on samsung tablet after Greg's discovery of syntax error. The fix still appears valid.
        Migration made changes -
        Fix Version/s 1.2 Beta [ 10344 ]
        Fix Version/s 1.0 RC1 [ 10315 ]
        Migration made changes -
        Assignee Steve Maryka [ steve.maryka ] Ted Goddard [ ted.goddard ]
        Migration made changes -
        Assignee Ted Goddard [ ted.goddard ] Steve Maryka [ steve.maryka ]
        Philip Breau made changes -
        Fix Version/s 1.3 Beta [ 10373 ]
        Fix Version/s 1.2 Beta [ 10344 ]
        Steve Maryka made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.1 Final [ 10343 ]
        Fix Version/s 1.3 Beta [ 10373 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Steve Maryka
            Reporter:
            Steve Maryka
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: