Release Bulletin 2.3 SP09

Known Issues for Hybrid Web Container

Learn about known issues and apply workarounds for Hybrid Web Container (HWC) development.

Issue #
Description
BCP 1670190171
After installing the latest Hybrid Web Container (HWC) on iOS 9 devices that uses a client certificate retrieved from Afaria, you must first manually add Afaria to the HWC white-list.

Workaround: When the user opens the HWC the first time on iOS 9 devices, an alert window displays asking the user permission to open Afaria. Click the OK button (or input values in the Setting screen) to allow access to Afaria.

NA
After installing the latest Hybrid Web Container (HWC) on Android 6.0 devices, you must manually allow permissions to enable various features.

For security reasons the Android Marshmallow (6.0) device operating system requires users to manually enable various features, including some provided by the Hybrid Web Container.

Workaround: From the Hybrid Web Container or Android setting screen, select Allow for those features (up to eight HWC features) you want to enable. For example, to allow HWC to make and manage phone calls, access your contacts, read attachments, and so on.

SMPONP-20305
The iOS HWC template source code project is non-ARC by default and may conflict with custom Cordova plugins that wish to employ ARC.

Workaround: To create a custom Cordova plugin that uses ARC, manually set -fobjc-arc to the source files in Start of the navigation path Project Target Next navigation step Build Phases Next navigation step Compile Sources Next navigation step your_source_file.m End of the navigation path.

SMPONP-20279
Some HWC JavaScript APIs do not work after upgrading the Cordova version used in the Android HWC.
These HWC JavaScript APIs are affected:
  • hwc.MediaCache.setElementUrl
  • hwc.MediaCache.getUrl
  • hwc.getBuildInIconUrl
  • hwc.getCustomIconUrl
  • hwc.getMsgIconUrl
  • hwc.getAppIconUrl

Workaround: None.

SMPONP-20215
Assigned workflow disappears if Touch ID authentication is canceled in the Hybrid Web Container (HWC).
Workaround:
  1. Open the HWC and select Touch ID authentication.
  2. Press the Setting button in the top bar.
  3. Press View Device Log, then go back to the HWC home screen.
The workflow reappears.
SMPONP-20217
The iOS Hybrid Web app fails to retrieve the certificate from Afaria Server on the first call from JavaScript.

Workaround: Retry the call and the certificate is returned successfully.

SMPONP-10777
Android and Blackberry connection failure when using HttpsConnection.

Depending on HTTP server behavior, client connection failures may occur when using the https-proxy plugin's HttpsConnection the first time (compared to the browser's default XMLHttpRequest) to send a HTTP(s) request to a remote server. When the client attempts to authenticate itself using basic authentication, failure may occur even when the user name and password are properly set in the header, with the server returning a 401 error.

Workaround: Send the request with username and password a second time.

RTC-387
Sencha Touch 2.1 does not load in the Hybrid Web Container

Workaround: Use a Sencha Touch version other than 2.1, such as 2.0.1 or 2.1.1.

RTC-287
On BlackBerry 7 simulators, when a Hybrid App is deployed from the Hybrid App Designer, the simulator fails.

See http://forum.jquery.com/topic/jquery-mobile-demo-page-causes-blackberry-7-1-simulator-browser-to-crashInformation published on non-SAP site for information. This does not happen on an actual device.

Workaround: Use a BlackBerry 7 device for deploying Hybrid Apps.

RTC-266
JavaScript functions deprecated.
  • showAlertDialog() – the title parameter is no longer used on iOS. It is already ignored on other platforms. This is true only for Sybase Unwired Platform versions 2.1.3 and 2.2 SP02 (2.2.0 and 2.2 SP01 work as before). 
  • showConfirmDialog() – this function does nothing.
Workaround:
  • showAlertDialog() – use the native JavaScript alert() function.
  • showConfirmDialog() – use the native JavaScript confirm() function. 

Alternatively, you can use PhoneGap APIs to display an alert or confirmation dialog. Although the PhoneGap APIs allow you to set the title of the alert and confirmation dialogs, and buttons, the APIs are asynchronous, so you cannot use them as a direct substitute for the showAlertDialog() unless you refactored the code in each instance where it is used.

RTC-240
On Android, PhoneGap Media play function does not play sound when the source is a Web server. This is a known PhoneGap issue and is fixed in PhoneGap (Cordova) version 2.1.0 so that sound files that are stored on the device play correctly.

Workaround: Include the sound files with the application. See the discussion about this problem at:

  https://groups.google.com/forum/?fromgroups=#!topic/phonegap/xCOwgKh0IQ0Information published on non-SAP site

RTC-236
When a 2.1.3 or older client tries to connect to a 2.2 or newer server using an invalid URL suffix (such as '/'), the client receives an HTTP authentication challenge and the connection fails.

Workaround: Use a valid URL suffix when attempting to connect a 2.1.3 or older client to a 2.2 or newer server.

RTC-220
In a page of the Hybrid App, the Save or Submit Hybrid App action fails to save the credential information to the local store by providing only the "credential cached user name" without a corresponding "credential cached password."

Workaround: Use the hwc.saveLoginCredentials() JavaScript API to save the user name.

RTC-205
On BlackBerry Torch and Storm devices, when using the Camera API, any picture taken is always rotated 90 degrees to the right.

Workaround:  None. This is a known problem with RIM APIs on these devices. See https://www.blackberry.com/jira/browse/JAVAAPI-701Information published on non-SAP site (requires a login) and http://supportforums.blackberry.com/t5/Java-Development/Storm-Torch-camera-getSnapshot-orientation-issue/td-p/1316867Information published on non-SAP site.

RTC-171
If a password is used for automatic device registration using the hwc.saveSettings() API, the password is used only once and is not saved in the Hybrid Web Container.

Upon successful automatic registration, subsequent connections to the server uses the userid+deviceid+authcode combination (the password is not required). This is by design.

Workaround: To save the password in the application, do so in the application code with the secured storage SUPStorage API.

RTC-169
Using the Hybrid Web Container on older BlackBerry devices may result in warnings or errors from the operating system, such as The memory available on your device is low. Close some of the items below.

Workaround: Run the BlackBerry Hybrid Web Container on newer OS 6.x or OS 7.x devices with more memory. There is no fix available from RIM for Java-based platforms. See the following Blackberry sites, which require a login. https://www.blackberry.com/jira/browse/JAVAAPI-2275Information published on non-SAP site.

RTC-139
iOS issue in opening apps and messages with the Javascript Metadata API . On iOS, when using the JavaScript API functions (hwc.openApp and hwc.openMessage) that allow the user to open a Hybrid App or message from within another Hybrid App, when opening the Hybrid App from within another application, the previously opened application closes. On platforms other than iOS, when the user closes the newly opened application, the previously opened application is still open.

Workaround: None.

RTC-135
On BlackBerry 5.0, the HTML5 sessionStorage object is not supported.

On both window.open() and window.location.href the HTML5 sessionStorage values are not carried to the next page.

Workaround: None.

RTC-115
Cannot update prepackaged Hybrid Apps.

The version number of the new Hybrid App must be later than the current version number.

Workaround: Edit the manifest.xml file to update the version number and repackage the Hybrid App files.

RTC-111
On Android devices, when attempting to upload log files from the Hybrid Web Container after re-registering the device user, an Upload Failed message is returned periodically.

Workaround: Upload the log files again.

RTC-91
In Hybrid Apps running on iOS devices, when a user enters a string in a numeric field, no error message is given, which allows the user to incorrectly enter string data in a numeric field.

In Hybrid Apps running on iOS, numeric edit boxes do not validate user entries.

Workaround: None.

RTC-37
On Android 3.x devices, when proxy is enabled on the WiFi connection, connecting to SAP Mobile Server directly using the HTTPS protocol makes the Hybrid Web Container client fails.

This is an Android bug. See http://code.google.com/p/android/issues/detail?id=37050Information published on non-SAP site for details.

Workaround: Either turn off the proxy or connect through SAP Relay Server.

CR-708173
When the Hybrid Web Container tries to retrieve data from the MBO package, an Invalid application id <***> for package error appears.
Workaround: In SAP Control Center, manually add an application ID for the MBO package's application list.
  1. Log in to SAP Control Center.
  2. Go to Start of the navigation path hostname@localhost Next navigation step Applications End of the navigation path and click the Applications tab.
  3. Click Properties.
  4. In Domains and Packages, select the domain that contains the applicable MBO package.
  5. Assign the application ID to the MBO's package's applications list.
CR-705895
After adding JavaScript code in the customAfterMenuItemClick method to update the check box (using JQuery Mobile) state on the screen, the checkbox fails to update.

Workaround: When you use JavaScript to update the check box (using JQueryMobile) value, you must also add the refresh code. For example:

Whole sample in "customAfterMenuItemClick" method of Custom.js

function customAfterMenuItemClick(screen, menuItem) {
    if (screen === "Start" && menuItem === "setCheckbox") {
		var checkbox1 = document.getElementById('checkbox1');  
		checkbox1.checked = true;
		
		var checkbox2 = document.getElementById('checkbox2');
		checkbox2.checked = false;
		
		if (isJQueryMobileLookAndFeel) {
		    $("input[type='checkbox']").checkboxradio("refresh");
		}
    }
}
CR-705219
When the iOS Hybrid Web Container application tries to retrieve seeding information from an Afaria iOS App store hosted package you see this error message: Afaria client application is installed but not configured.
Workaround: Configure Afaria client application and try again or go to the Settings application and enter your configuration information.
  • Seed Enterprise-hosted packages on the Afaria server.
  • Manually configure the connection information.
CR-703883
Switching from one edit box to another on a BlackBerry 7.0 simulator or device using the touch screen or mouse requires two clicks or touches.

Workaround: None for BlackBerry 7.0. Upgrading to BlackBerry 7.1 eliminates the problem.

CR-702603
BlackBerry 7.0 users see a white screen until the Workflow application's activation screen opens. See https://www.blackberry.com/jira/browse/JAVAAPI-119Information published on non-SAP site. Note this URL requires a login.

Workaround: None.

CR-693907
Hybrid Web Container occasionally fails on Android 2.2.

This can happen when all of these conditions are present:

  • There is only one read-only edit box control on a single screen, and
  • The application is using jQueryMobile GA version, and
  • You are using an Android 2.2 simulator or Samsung Galaxy device with Android 2.2.

Workaround:

  • Upgrade the OS on the device to Android 2.3, or,
  • If using an Android 3.x simulator, see CR 673572, or,
  • Add one or more controls to the screen.
CR-691005
Image upload may fail on BlackBerry 6 simulators older than version 6.0.0.499.

Workaround: Use a BlackBerry 9800 simulator with version 6.0.0.499 or later.

CR-686465
Camera feature is supported on some device simulators/emulators.

Workaround: Use a physical device.

CR-680253
Images do not appear correctly on mobile devices.

Hybrid Web Container/Workflow applications can display pictures from binary enterprise information system (EIS) data. But when a MBO developer drags and drops a table that contains an image field to create the MBO, the image field maps to a Binary datatype that has a length of approximately 3KB, which may not be large enough for the entire image. At runtime, the binary data of the image may be truncated in the cache database (CDB), and appear incorrectly on the device.

Workaround: When creating the MBO, manually modify the length of the binary field to make sure it is large enough to hold the image binary data, or use the BigBinary datatype instead.