ICEmobile
  1. ICEmobile
  2. MOBI-941

BridgeIt contacts and QR scan for company and internationalized names

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: BridgeIt 1.0.2
    • Fix Version/s: BridgeIt 1.0.3
    • Component/s: Containers
    • Labels:
      None
    • Environment:
      BridgeIt, non-ASCII

      Description

      If a contact is selected and it is either the name of a company or contains non-ASCII characters, the name will not be returned correctly.

        Activity

        Hide
        Ted Goddard added a comment -

        If a metal band is encoded as "M%C3%B6tley%20Cr%C3%BCe", unescape() in JavaScript is not sufficient for decoding. This results in individual characters for each UTF multi-character sequence.

        decodeURIComponent() is sufficient, however.

        Show
        Ted Goddard added a comment - If a metal band is encoded as "M%C3%B6tley%20Cr%C3%BCe", unescape() in JavaScript is not sufficient for decoding. This results in individual characters for each UTF multi-character sequence. decodeURIComponent() is sufficient, however.
        Hide
        Ted Goddard added a comment -

        QR code with internationalized character caused BridgeIt to crash:

        http://labs.icesoft.com/mobileshowcase/javax.faces.resource/qrcode:Ångström.jsf

        Show
        Ted Goddard added a comment - QR code with internationalized character caused BridgeIt to crash: http://labs.icesoft.com/mobileshowcase/javax.faces.resource/qrcode: Ångström.jsf
        Show
        Ted Goddard added a comment - http://labs.icesoft.com/mobileshowcase/javax.faces.resource/qrcode:%25C3%2585ngstr%25C3%25B6m%2Bis%2B10%255E-10m.jsf
        Hide
        Ted Goddard added a comment -

        Fix for iOS BridgeIt is checked in, but complete fix will require the following for bridgeit.js

        +++ b/src/bridgeit.js
        @@ -369,7 +369,7 @@ if (!window.console) {
        if (useBase64 && (data.indexOf("!") < 0))

        { data = data.replace(/~/g,"="); data = data.replace(/\./g,"/"); - data = unescape(atob(data)); + data = decodeURIComponent(atob(data)); }

        var params = data.split("&");
        var len = params.length;

        Show
        Ted Goddard added a comment - Fix for iOS BridgeIt is checked in, but complete fix will require the following for bridgeit.js +++ b/src/bridgeit.js @@ -369,7 +369,7 @@ if (!window.console) { if (useBase64 && (data.indexOf("!") < 0)) { data = data.replace(/~/g,"="); data = data.replace(/\./g,"/"); - data = unescape(atob(data)); + data = decodeURIComponent(atob(data)); } var params = data.split("&"); var len = params.length;
        Hide
        Ted Goddard added a comment -

        Crash report from Rob's "UPC code of death" (attached):

        Dec 4 16:49:17 BridgeIt[376] <Error>: -[AVMetadataFaceObject corners]: unrecognized selector sent to instance 0x14596aa0
        Dec 4 16:49:17 BridgeIt[376] <Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVMetadataFaceObject corners]: unrecognized selector sent to instance 0x14596aa0'

            • First throw call stack:
        Show
        Ted Goddard added a comment - Crash report from Rob's "UPC code of death" (attached): Dec 4 16:49:17 BridgeIt [376] <Error>: - [AVMetadataFaceObject corners] : unrecognized selector sent to instance 0x14596aa0 Dec 4 16:49:17 BridgeIt [376] <Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [AVMetadataFaceObject corners] : unrecognized selector sent to instance 0x14596aa0' First throw call stack:
        Hide
        Ted Goddard added a comment -

        Crash only occurred once, so it may be a rare condition with failed face detection rather than barcode detection. The computer generated equivalent barcode is easily recognized, but it is higher contrast and less blurry. As an initial fix, the above crash issue will be addressed.

        Show
        Ted Goddard added a comment - Crash only occurred once, so it may be a rare condition with failed face detection rather than barcode detection. The computer generated equivalent barcode is easily recognized, but it is higher contrast and less blurry. As an initial fix, the above crash issue will be addressed.
        Hide
        Ted Goddard added a comment -

        It appears that occasionally null objects will be returned to the scan callback. These are detected by the above fix.

        Show
        Ted Goddard added a comment - It appears that occasionally null objects will be returned to the scan callback. These are detected by the above fix.
        Hide
        Ted Goddard added a comment -

        BridgeIt 1.0.3 now uses unicode-friendly URL encoding.

        Show
        Ted Goddard added a comment - BridgeIt 1.0.3 now uses unicode-friendly URL encoding.
        Hide
        Ted Goddard added a comment -

        There appear to PDF417 barcodes that contain multiple records that are not processed by the iOS 7 barcode scanner:

        http://www.idautomation.com/barcode-faq/2d/pdf417/

        Show
        Ted Goddard added a comment - There appear to PDF417 barcodes that contain multiple records that are not processed by the iOS 7 barcode scanner: http://www.idautomation.com/barcode-faq/2d/pdf417/

          People

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

            Dates

            • Created:
              Updated:
              Resolved: