ICEfaces
  1. ICEfaces
  2. ICE-10126

mobi:scan ios issue with captureMessageLabel

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 4.0.BETA
    • Fix Version/s: EE-4.0.0.GA, 4.1
    • Component/s: MOBI-Components
    • Labels:
      None
    • Environment:
      Tomcat 7, iphone 4s/5 using ios 7.x. Icefaces 4 trunk r41775
    • Assignee Priority:
      P1

      Description

      Issue found on ios devices.
      The Scan buttonLabel Attribute doesn't change to it's captured message label after scanning a QR code. Test application found at:
      C:\svn\repo\qa\trunk\Regression-Icefaces4\Sparkle\Manual\scan

      To reproduce on ios device:
      Navigate to mobi:scan dynamic attribute test
      Click rendered.
      Click the Scan Code button.
      Use the device to scan a QR or bar code.
      Once the scan is complete the "Scan Code" button should be rendered as a "Scan Captured" button. This does not occur using an ios device. Works fine using android.

        Activity

        Liana Munroe created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Assignee Ted Goddard [ ted.goddard ]
        Fix Version/s 4.0 [ 11382 ]
        Affects Version/s 4.0.BETA [ 10770 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Assignee Priority P2 [ 10011 ]
        Hide
        Ted Goddard added a comment -

        Reproduced using ICEfaces 4 trunk deployed to labs.icesoft.com:8080/showcase/

        Show
        Ted Goddard added a comment - Reproduced using ICEfaces 4 trunk deployed to labs.icesoft.com:8080/showcase/
        Hide
        Ted Goddard added a comment -

        Sample return from iOS application:

        http://localhost:8080/showcase/showcase-mobile.jsf#icemobilesx_c2Nhbk9uZT1QZW5jaWxzJiFjPWFwbnM6YjFkZmI5NmRhY2ZmY2E2Mzg0MWMyYjg1NTQ5YzBlNTgxYmMzNzllNzdmM2U1NGRhOGQwMzNiNDQ2MDAwOTQyMyYhdj0xLjAuNA~~

        This appears to not be decoding because both bridgeit.js and older ICEmobile-SX JavaScript (in coalesced.js.jsf from icefaces/mobi/component/resources/org.icefaces.component.util/component.js)
        are both present in the page and the hashChange listener from component.js is winning.

        This means that the component is relying on an upload to the server from BridgeIt.app, not the BridgeIt callback to the browser.

        Show
        Ted Goddard added a comment - Sample return from iOS application: http://localhost:8080/showcase/showcase-mobile.jsf#icemobilesx_c2Nhbk9uZT1QZW5jaWxzJiFjPWFwbnM6YjFkZmI5NmRhY2ZmY2E2Mzg0MWMyYjg1NTQ5YzBlNTgxYmMzNzllNzdmM2U1NGRhOGQwMzNiNDQ2MDAwOTQyMyYhdj0xLjAuNA~~ This appears to not be decoding because both bridgeit.js and older ICEmobile-SX JavaScript (in coalesced.js.jsf from icefaces/mobi/component/resources/org.icefaces.component.util/component.js) are both present in the page and the hashChange listener from component.js is winning. This means that the component is relying on an upload to the server from BridgeIt.app, not the BridgeIt callback to the browser.
        Hide
        Ted Goddard added a comment -

        The Android implementation is performing a POST to the server when the scan completes, rather than returning the value directly to the browser. The iOS version is likely making use of the hidden field update capability since no callback is registered.

        <button id="scanOne_button" name="scanOne_button" onclick="bridgeit.scan('scanOne', '', {postURL:'http://localhost:8080/showcase/javax.faces.resource/auxupload.txt.jsf', cookies:{'JSESSIONID':'30EF86BB77DA21FC0DDD33FCEC4CF690'}});" style="width:50%" tabindex="0" type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text"><span>Scan Code</span><span></span></span></button>

        Since the current bridgeit.js is used to invoke the scan, BridgeIt App assumes that the page is capable of handling a callback.

        Show
        Ted Goddard added a comment - The Android implementation is performing a POST to the server when the scan completes, rather than returning the value directly to the browser. The iOS version is likely making use of the hidden field update capability since no callback is registered. <button id="scanOne_button" name="scanOne_button" onclick="bridgeit.scan('scanOne', '', {postURL:'http://localhost:8080/showcase/javax.faces.resource/auxupload.txt.jsf', cookies:{'JSESSIONID':'30EF86BB77DA21FC0DDD33FCEC4CF690'}});" style="width:50%" tabindex="0" type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text"><span>Scan Code</span><span></span></span></button> Since the current bridgeit.js is used to invoke the scan, BridgeIt App assumes that the page is capable of handling a callback.
        Hide
        Ted Goddard added a comment -

        The component should be implemented to use the BridgeIt callback mechanism. This will allow partial offline operation and will improve the UI responsiveness.

        Show
        Ted Goddard added a comment - The component should be implemented to use the BridgeIt callback mechanism. This will allow partial offline operation and will improve the UI responsiveness.
        Ted Goddard made changes -
        Assignee Ted Goddard [ ted.goddard ] Ken Fyten [ ken.fyten ]
        Hide
        Ted Goddard added a comment -

        Assigning to Ken for potential re-assignment – the required fix needs several changes in the component and may not be warranted for the upcoming release since the actual bug symptom is minor. A greater concern is the presences of both component.js and bridgeit.js.

        Show
        Ted Goddard added a comment - Assigning to Ken for potential re-assignment – the required fix needs several changes in the component and may not be warranted for the upcoming release since the actual bug symptom is minor. A greater concern is the presences of both component.js and bridgeit.js.
        Ken Fyten made changes -
        Fix Version/s EE-4.0.0.GA [ 11171 ]
        Fix Version/s 4.0 [ 11382 ]
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ] Arturo Zambrano [ artzambrano ]
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ] Judy Guglielmin [ judy.guglielmin ]
        Ken Fyten made changes -
        Assignee Judy Guglielmin [ judy.guglielmin ] Arturo Zambrano [ artzambrano ]
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ] Judy Guglielmin [ judy.guglielmin ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44057 Thu Feb 12 15:06:38 MST 2015 judy.guglielmin ICE-10126 add bridget callback to scan component to update the captureMessageLabel attribute
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/mobi/component/src/org/icefaces/mobi/component/scan/ScanRenderer.java
        Hide
        Judy Guglielmin added a comment -

        r. 44057

        Show
        Judy Guglielmin added a comment - r. 44057
        Judy Guglielmin made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Liana Munroe added a comment - - edited

        showcase-mobile - Tested with ICEfaces 4 trunk r44061 using iphone 4s with ios 7 and ipad with ios 8. Issue is still present. Scan captured label is not rendered after the scan.

        Show
        Liana Munroe added a comment - - edited showcase-mobile - Tested with ICEfaces 4 trunk r44061 using iphone 4s with ios 7 and ipad with ios 8. Issue is still present. Scan captured label is not rendered after the scan.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44070 Mon Feb 16 13:40:39 MST 2015 judy.guglielmin ICE-10126 modified decode to ensure label is rewired to original buttonLabel. But...the page update is not updating the scan markup at all. Even with hashcode implemented (not checked in).
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/mobi/component/src/org/icefaces/mobi/component/scan/ScanRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44071 Mon Feb 16 13:42:23 MST 2015 judy.guglielmin ICE-10126 modified showcase example to use the captureMessageLabel attribute.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/mobi/scan/QrCodeBean.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/samples/showcase/showcase/src/main/webapp/resources/examples/mobi/scan/scan-example.xhtml
        Hide
        Judy Guglielmin added a comment -

        modifed showcase to use the captureMessageLabel attribute.
        Also noticed that the decode is working and the button label should be resolving to original message after the value is updated, however, something is triggering bridgeIt to keep the old markup (component is not being updated properly). I attempted use of hashCode to ensure the markup is rendered, but it appears to be written over by bridgeIt. Renderer is encoding and decoding properly, and component js is not interfering.
        rev 44071 for showcase example update

        Show
        Judy Guglielmin added a comment - modifed showcase to use the captureMessageLabel attribute. Also noticed that the decode is working and the button label should be resolving to original message after the value is updated, however, something is triggering bridgeIt to keep the old markup (component is not being updated properly). I attempted use of hashCode to ensure the markup is rendered, but it appears to be written over by bridgeIt. Renderer is encoding and decoding properly, and component js is not interfering. rev 44071 for showcase example update
        Judy Guglielmin made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Carmen Cristurean added a comment -

        Verified mobi:scan in showcase-mobile and the QA mobi:scan application with IF4 trunk r44085 using iPhone4S/iOS7.

        Show
        Carmen Cristurean added a comment - Verified mobi:scan in showcase-mobile and the QA mobi:scan application with IF4 trunk r44085 using iPhone4S/iOS7.
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Fix Version/s 4.1 [ 11375 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Judy Guglielmin
            Reporter:
            Liana Munroe
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: