Skip to content

Instantly share code, notes, and snippets.

@MotiurRahman
Created November 22, 2019 17:20
Show Gist options
  • Save MotiurRahman/962373d4ba9f4792c6923f75a0b02faa to your computer and use it in GitHub Desktop.
Save MotiurRahman/962373d4ba9f4792c6923f75a0b02faa to your computer and use it in GitHub Desktop.
WebView Test
var win = Ti.UI.createWindow({
backgroundColor : '#fff'
});
win.open();
//var args = $.args;
var analyticsId = 'SSO - Open';
var webView;
var refreshTokenInterval;
// var requestHeaders = {};
var _requestHeaderMessage = '';
startOrEndOfLog();
writeInLog(_requestHeaderMessage);
webView = Ti.UI.createWebView({
top : '7dp',
bottom : '10dp',
//requestHeaders : requestHeaders,
url : 'https://jira.appcelerator.org/',
ignoreSSLError : false,
borderRadius : .5,
backgroundColor : "yellow",
enableZoomControls : true
});
win.add(webView);
webView.addEventListener('beforeload', handleBeforeLoad);
webView.addEventListener('load', handleLoad);
webView.addEventListener('blacklisturl', handleBlackListURL);
//webView.addEventListener('click', handleClick);
//webView.addEventListener('dblclick', handleDoubleClick);
//webView.addEventListener('doubletap', handleDoubleTap);
webView.addEventListener('error', handleError);
webView.addEventListener('focus', handleFocus);
webView.addEventListener('handleurl', handleURL);
//webView.addEventListener('keypressed', handleKeyPressed);
//webView.addEventListener('longclick', handleLongClick);
//webView.addEventListener('longpress', handleLongPress);
webView.addEventListener('message', handleMessage);
webView.addEventListener('onLoadResource', handleOnLoadResource);
//webView.addEventListener('pinch', handlePinch);
webView.addEventListener('postlayout', handlePostLayout);
webView.addEventListener('progress', handleProgress);
webView.addEventListener('redirect', handleRedirect);
//webView.addEventListener('singletap', handleSingleTap);
webView.addEventListener('sslerror', handleSSLError);
//webView.addEventListener('swipe', handleSwipe);
//webView.addEventListener('touchcancel', handleTouchCancel);
//webView.addEventListener('touchend', handleTouchEnd);
//webView.addEventListener('touchmove', handleTouchMove);
//webView.addEventListener('touchstart', handleTouchStart);
//webView.addEventListener('twofingertap', handleTwoFingerTap);
function handleOnLink() {
writeInLog('\n' + 'Event : onlink (Fired before navigating to a link)');
}
function handleOnCreateWindow() {
writeInLog('\n' + 'Event : onCreateWindow (Callback function called when there is a request for the application to create a new window to host new content)');
}
function handleBlackListURL(_evt) {
writeInLog('\n' + 'Event : blacklisturl' + '\n' + 'URL : ' + _evt.url);
}
function handleTwoFingerTap(_evt) {
writeInLog('\n' + 'Event : twofingertap');
}
function handleTouchStart(_evt) {
writeInLog('\n' + 'Event : touchStart');
}
function handleTouchMove(_evt) {
writeInLog('\n' + 'Event : touchmove');
}
function handleTouchEnd(_evt) {
writeInLog('\n' + 'Event : touchend');
}
function handleTouchCancel(_evt) {
writeInLog('\n' + 'Event : touchcancel');
}
function handleSwipe(_evt) {
writeInLog('\n' + 'Event : swipe');
}
function handleSSLError(_evt) {
writeInLog('\n' + 'Event : sslerror');
}
function handleSingleTap(_evt) {
writeInLog('\n' + 'Event : singletap');
}
function handleRedirect(_evt) {
writeInLog('\n' + 'Event : redirect' + '\n' + 'URL : ' + _evt.url);
}
function handleProgress(_evt) {
writeInLog('\n' + 'Event : progress' + '\n' + 'URL : ' + _evt.url + '\n' + 'Progress : ' + (webView.progress * 100).toFixed(4) + '%');
}
function handlePostLayout(_evt) {
writeInLog('\n' + 'Event : postlayout');
}
function handlePinch(_evt) {
writeInLog('\n' + 'Event : pinch');
}
function handleOnLoadResource(_evt) {
writeInLog('\n' + 'Event : onLoadResource' + '\n' + 'URL : ' + _evt.url);
}
function handleMessage(_evt) {
writeInLog('\n' + 'Event : message' + '\n' + 'URL : ' + _evt.url);
}
function handleLongPress(_evt) {
writeInLog('\n' + 'Event : longpress');
}
function handleLongClick(_evt) {
writeInLog('\n' + 'Event : longclick');
}
function handleKeyPressed(_evt) {
writeInLog('\n' + 'Event : keypressed');
}
function handleClick(_evt) {
writeInLog('\n' + 'Event : click');
}
function handleDoubleClick(_evt) {
writeInLog('\n' + 'Event : dblclick');
}
function handleDoubleTap(_evt) {
writeInLog('\n' + 'Event : doubletap');
}
function handleError(_evt) {
writeInLog('\n' + 'Event : error' + '\n' + 'URL : ' + _evt.url + '\n' + 'Error Code : ' + _evt.errorCode + '\n' + 'Error : ' + _evt.error);
}
function handleFocus(_evt) {
writeInLog('\n' + 'Event : focus');
}
function handleURL(_evt) {
writeInLog('\n' + 'Event : handleurl' + '\n' + 'URL : ' + _evt.url);
}
/**
* @method handleBeforeLoad
* Will listen to the URL load event and reset the idle timer
* @param {Event} _evt Event Object
* @return {void}
*/
function handleBeforeLoad(_evt) {
var _message = '';
_message = _message + '\n' + 'Event : beforeload';
_message = _message + '\n' + 'URL : ' + _evt.url;
//_message = _message + '\n' + 'Event Content : ' + JSON.stringify(_evt);
//_message = _message + displayWebViewInfo();
writeInLog(_message, true);
}
/**
* @method handleLoad
* Will listen to the URL load event and reset the idle timer
* @param {Event} _evt Event Object
* @return {void}
*/
function handleLoad(_evt) {
var _message = '';
_message = _message + '\n' + 'Event : handleLoad';
_message = _message + '\n' + 'URL : ' + _evt.url;
//_message = _message + '\n' + 'Event Content : ' + JSON.stringify(_evt);
//_message = _message + displayWebViewInfo();
writeInLog(_message);
}
/**
* @method AddRequestHeader
* Will add the element to the requestHeader array if value exists
* @param {String} _key Parameter Name
* @param {String} _value Parameter Value
* @return {void}
*/
function AddRequestHeader(_key, _value) {
if (_value.length > 0) {
_requestHeaderMessage = _requestHeaderMessage + '\n' + 'Request Header : Key - ' + _key + ' Value - ' + _value;
requestHeaders[_key] = _value;
}
}
function displayWebViewInfo() {
var _message = '';
_message = _message + '\n' + 'Page Title : ' + webView.title;
_message = _message + '\n' + 'Secure : ' + webView.secure;
// _message = _message + '\n' + 'Timeout : ' + webView.timeout;
// _message = _message + '\n' + 'Mixed Content Mode : ' + webView.mixedContentMode;
// _message = _message + '\n' + 'User Agent : ' + webView.userAgent;
// _message = _message + '\n' + 'Data : ' + webView.data;
// _message = _message + '\n' + 'HTML : ' + webView.html;
return _message;
}
function startOrEndOfLog() {
console.log('\n' + '--------------------------------------------------------------------------------------------------------------------------------------------' + '\n');
}
function writeInLog(_message) {
var today = new Date();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
if (_message.length > 0) {
console.log('\n\n' + 'Time : ' + time + _message);
}
}
Appcelerator Command-Line Interface, version 7.1.1
Copyright (c) 2014-2019, Appcelerator, Inc. All Rights Reserved.
2019-11-22T17:17:41.732Z | TRACE | set environment to {"registry":"https://registry.platform.axway.com","baseurl":"https://platform.axway.com"}
2019-11-22T17:17:41.739Z | TRACE | checking credentials for existing session
2019-11-22T17:17:42.360Z | TRACE | Attempting to load session info from config file
2019-11-22T17:17:42.375Z | TRACE | check if session is invalidated
2019-11-22T17:17:44.678Z | TRACE | refresh session expiry to: 1575047864433
2019-11-22T17:17:44.681Z | TRACE | session expiry 1575047864433 false
2019-11-22T17:17:44.682Z | TRACE | Arrow Cloud config file: /Users/macbookpro/.acs
2019-11-22T17:17:44.694Z | TRACE | found Arrow Cloud login { mid: '7cbabb78f59b73f186c7e5e782abc4452ffd572e',
publishPort: 443,
publishHost: 'https://admin.cloudapp-enterprise.appcelerator.com',
username: '[email protected]',
cookie:
[ 'connect.sid=s%3A9XHQCvKpB7RDfYyi8C8730qXPD1-KF9O.Hor%2F7IoZWaijnv7u7oKqKnqP%2FwRosO7oqRpyesG75X0; Path=/; Expires=Wed, 04 Dec 2019 17:23:32 GMT; HttpOnly' ],
defaultEP:
{ publishHost: 'https://admin.cloudapp-enterprise.appcelerator.com',
publishPort: 443 } } , checking nodeACSEndpoint= https://admin.cloudapp-enterprise.appcelerator.com
2019-11-22T17:17:44.695Z | TRACE | Arrow Cloud cookie expiry [ 1575480212000 ]
2019-11-22T17:17:44.695Z | TRACE | session already loaded in opts.session
2019-11-22T17:17:44.697Z | TRACE | getCredentials() session:
{
"ipaddress": "192.168.0.3",
"username": "[email protected]",
"password": "<OMITTED>",
"session": "<OMITTED>",
"nonce": "<OMITTED>",
"environment": {
"name": "production",
"isProduction": true,
"acsBaseUrl": "https://api.cloud.appcelerator.com",
"nodeACSEndpoint": "https://admin.cloudapp-enterprise.appcelerator.com"
},
"token": "<OMITTED>",
"fingerprint": "7cbabb78f59b73f186c7e5e782abc4452ffd572e",
"fingerprint_description": "Mac OSX Serial Number: C1MM8VDKDTY3",
"org_id": 100000208,
"expiry": 1575047864433
}
2019-11-22T17:17:44.698Z | TRACE | loading plugins for command "run"
2019-11-22T17:17:44.740Z | TRACE | run search paths:
[
"/Users/macbookpro/.appcelerator/install/7.1.1/package",
"/Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules",
"/Users/macbookpro/Documents/New_work/AppJSTest/modules",
"/Users/macbookpro/Documents/New_work/AppJSTest/node_modules",
"/Users/macbookpro/Documents/New_work/node_modules",
"/Users/macbookpro/Documents/node_modules",
"/Users/macbookpro/node_modules",
"/Users/node_modules",
"/node_modules",
"/Users/macbookpro/.appcelerator/.npm/lib/node_modules"
]
2019-11-22T17:17:44.744Z | DEBUG | [PLUGIN-LOAD] 0ms /Users/macbookpro/.appcelerator/install/7.1.1/package/appc.js
2019-11-22T17:17:44.982Z | DEBUG | [PLUGIN-LOAD] 222ms /Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules/appc-cli-titanium/appc.js
2019-11-22T17:17:44.982Z | DEBUG | run plugin: /Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules/appc-cli-titanium
2019-11-22T17:17:45.002Z | DEBUG | [PLUGIN-LOAD] 1ms /Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules/arrow/appc.js
2019-11-22T17:17:45.089Z | DEBUG | run plugin: /Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules/arrow
2019-11-22T17:17:45.404Z | TRACE | plugin "arrow" failed its "when" function check, skipping...
2019-11-22T17:17:45.404Z | TRACE | loading plugin "titanium" for command "run" CLI options via function
2019-11-22T17:17:45.410Z | TRACE | loading plugin "titanium" for command "run" CLI options via array
2019-11-22T17:17:45.418Z | TRACE | executing command "run" with the following plugins:
["titanium"]
2019-11-22T17:17:45.422Z | TRACE | session already loaded in opts.session
2019-11-22T17:17:45.425Z | DEBUG | Titanium Downloads Last Checked: 1574440541122
2019-11-22T17:17:47.224Z | TRACE | getInstalledTiSdkInfo { sdkPath: '/Users/macbookpro/Library/Application Support/Titanium',
activeSDK: '8.2.1.GA' }
2019-11-22T17:17:47.225Z | DEBUG | active sdk info { sdkPath: '/Users/macbookpro/Library/Application Support/Titanium',
activeSDK: '8.2.1.GA' }
2019-11-22T17:17:53.175Z | DEBUG | to download {"modules":[{"partner_id":"C62F568D148845509E7E9D8317A24462","partner_name":"crittercism","id":"com.appcelerator.apm","name":"Appcelerator Performance Module","description":"Used to enable the Appcelerator Performance service. Appcelerator Performance service allows you to identify and troubleshoot crashes in your mobile applications.","guid":"ec36d909-befa-4ca1-b518-1e3f152ead61","version":"1.1.5","url":"https://downloads.platform.axway.com/modules/com.appcelerator.apm-ios_android-1.1.5.zip","min_mobilesdk_version":"3.5.1","oses":["linux","win32","osx"],"platforms":["iphone","android"],"required":true,"partner":"crittercism","versions":[{"platforms":["iphone","android"],"sdk_versions":">=7.0.0","version":"3.1.2","url":"https://downloads.platform.axway.com/modules/com.appcelerator.apm-ios_android-3.1.2.zip"},{"platforms":["iphone","android"],"sdk_versions":">=6.0.0 <7.0.0","version":"2.0.0","url":"https://downloads.platform.axway.com/modules/com.appcelerator.apm-ios_android-2.0.0.zip"}]},{"id":"com.appcelerator.aca","name":"Appcelerator Crash Analytics","description":"Enables Appcelerator Crash Analytics. Appcelerator Crash Analytics allows you to identify and troubleshoot crashes in your mobile applications.","guid":"ec713280-46fb-46ad-b9af-4435dfca143b","oses":["linux","win32","osx"],"platforms":["iphone","android"],"required":true,"partner":"aca","download":true,"versions":[{"platforms":["iphone","android"],"sdk_versions":">=8.0.0 <8.1.1","version":"1.3.0","url":"https://downloads.platform.axway.com/modules/com.appcelerator.aca-1.3.0.zip"},{"platforms":["iphone","android"],"sdk_versions":">=8.1.1","version":"1.4.3","url":"https://downloads.platform.axway.com/modules/com.appcelerator.aca-1.4.3.zip"}]},{"oses":["linux","win32","osx"],"platforms":["iphone","android"],"required":true,"partner_id":"A0B129A418829127EC551EB8ADB0D1CC","partner_name":"Appcelerator","id":"hyperloop","name":"Hyperloop","description":"Gain complete access to native APIs in your Titanium mobile applications.","guid":"99a136cd-4e51-40da-bcdb-d514f5895fb5","version":"1.2.8","url":"https://downloads.platform.axway.com/modules/hyperloop-1.2.8.zip","min_mobilesdk_version":"5.4.0","partner":null,"versions":[{"platforms":["iphone","android","windows"],"sdk_versions":">=6.0.0 <7.0.0","version":"2.2.3","url":"https://downloads.platform.axway.com/modules/hyperloop-2.2.3.zip"}]},{"id":"ti.cloudpush","name":"ti.cloudpush","description":"Enables Mobile Backend Services Push Notifications for Android applications.","guid":"2d542783-c83c-4597-bd61-1073aa16ece2","oses":["linux","win32","osx"],"platforms":["android"],"required":true,"partner":null,"versions":[{"platforms":["android"],"sdk_versions":">=7.0.0 <7.5.0","version":"5.2.1","url":"https://downloads.platform.axway.com/modules/ti.cloudpush-android-5.2.1.zip"},{"platforms":["android"],"sdk_versions":">=7.5.0 <8.0.0","version":"6.0.0","url":"https://downloads.platform.axway.com/modules/ti.cloudpush-android-6.0.0.zip"}]}],"components":[]}
2019-11-22T17:17:53.206Z | DEBUG | Module Found com.appcelerator.apm iphone 3.1.2
2019-11-22T17:17:53.206Z | DEBUG | Module Found com.appcelerator.apm android 3.1.2
2019-11-22T17:17:53.207Z | DEBUG | com.appcelerator.apm iphone Latest Version 3.1.2
2019-11-22T17:17:53.208Z | DEBUG | com.appcelerator.apm android Latest Version 3.1.2
2019-11-22T17:17:53.209Z | DEBUG | Module Found com.appcelerator.aca iphone 1.4.3
2019-11-22T17:17:53.209Z | DEBUG | Module Found com.appcelerator.aca android 1.4.3
2019-11-22T17:17:53.209Z | DEBUG | com.appcelerator.aca iphone Latest Version 1.4.3
2019-11-22T17:17:53.210Z | DEBUG | com.appcelerator.aca android Latest Version 1.4.3
2019-11-22T17:17:53.401Z | TRACE | No project alloy hook; skipping update to 1.0.1
11/22/2019, 11:17:59 PM
Operating System
Name = Mac OS X
Version = 10.14.6
Architecture = 64bit
# CPUs = 4
Memory = 8589934592
Node.js
Node.js Version = 10.16.3
npm Version = 6.9.0
Titanium CLI
CLI Version = 5.2.1
Titanium SDK
SDK Version = 8.2.1.GA
SDK Path = /Users/macbookpro/Library/Application Support/Titanium/mobilesdk/osx/8.2.1.GA
Target Platform = iphone
Command
/usr/local/bin/node /Users/macbookpro/.appcelerator/install/7.1.1/package/node_modules/titanium/lib/titanium.js build --platform ios --log-level trace --sdk 8.2.1.GA --project-dir /Users/macbookpro/Documents/New_work/AppJSTest --target device --ios-version 13.1 --device-family universal --developer-name iPhone Developer: Aziz Ahmad (63BQJ23J78) --device-id 0da481bbe385d5c432dc2d1173d5bb80ae3a6dc5 --pp-uuid 36a6013c-f44a-49b2-ac5e-670cc727fd70 --no-colors --no-progress-bars --no-prompt --prompt-type socket-bundle --prompt-port 49927 --config-file /var/folders/zk/fyb8qrgj2kxgq_f0hj3zdnmc0000gn/T/build-1574443065423.json --no-banner --project-dir /Users/macbookpro/Documents/New_work/AppJSTest
[INFO] : Found Titanium module id=ti.cloud version=3.2.11 platform=commonjs deploy-type=test path=/Users/macbookpro/Library/Application Support/Titanium/modules/commonjs/ti.cloud/3.2.11
[INFO] : Found Titanium module id=ti.webdialog version=1.1.0 platform=ios deploy-type=test path=/Users/macbookpro/Documents/New_work/AppJSTest/modules/iphone/ti.webdialog/1.1.0
[INFO] : Deploy type: test
[INFO] : Building for target: device
[INFO] : Building using iOS SDK: 13.1
[INFO] : Building for iOS device: 0da481bbe385d5c432dc2d1173d5bb80ae3a6dc5
[INFO] : Building for device family: universal
[INFO] : iOS Development Certificate: iPhone Developer: Aziz Ahmad (63BQJ23J78)
[INFO] : Team ID: M8UFGDVL6C
[INFO] : Minimum iOS version: 9.0
[INFO] : Using default keychain
[INFO] : Logging enabled on port 22336
[INFO] : Debugging disabled
[INFO] : Profiler disabled
[INFO] : Set to copy files instead of symlinking
[INFO] : Transpile javascript: true
[INFO] : Generate source maps: true
[INFO] : Forcing clean build: /Users/macbookpro/Documents/New_work/AppJSTest/build/iphone/build-manifest.json does not exist
[INFO] : Initializing the build directory
[INFO] : JavaScript files need to be encrypted
[INFO] : Creating Xcode project
[INFO] : Creating Entitlements.plist
[INFO] : Creating Info.plist
[INFO] : Disabling ATS
[INFO] : Creating main.m
[INFO] : Creating Xcode config files
[INFO] : Copying Titanium libraries
[INFO] : Copying Titanium iOS files
[INFO] : Installing default LaunchScreen.storyboard
[INFO] : Cleaning Xcode derived data
[INFO] : Creating debugger and profiler plists
[INFO] : Analyzing Resources directory
[INFO] : Analyzing platform files
[INFO] : Analyzing module files
[INFO] : Analyzing localized launch images
[INFO] : Analyzing CommonJS modules
[INFO] : Analyzing CommonJS module: ti.cloud
[INFO] : Creating asset catalog
[INFO] : Creating app icon set
[INFO] : Creating launch logo image set
[INFO] : Missing 5 launch logos, generating missing launch logos from DefaultIcon.png
[WARN] : If this app has been previously installed on this device, you may need restart it to see the latest launch logo
[WARN] : iOS renders and caches the launch screen to a PNG image that seems to only be invalidated by restarting iOS
[INFO] : Missing 17 app icons, generating missing icons
[INFO] : appicon-Small.png - Used for iPad - size: 29x29
[INFO] : [email protected] - Used for iPhone, iPad - size: 58x58
[INFO] : [email protected] - Used for iPhone - size: 87x87
[INFO] : appicon-Small-40.png - Used for iPad - size: 40x40
[INFO] : [email protected] - Used for iPhone, iPad - size: 80x80
[INFO] : [email protected] - Used for iPhone - size: 120x120
[INFO] : [email protected] - Used for iPhone - size: 120x120
[INFO] : [email protected] - Used for iPhone - size: 180x180
[INFO] : appicon-76.png - Used for iPad - size: 76x76
[INFO] : [email protected] - Used for iPad - size: 152x152
[INFO] : [email protected] - Used for iPad - size: 167x167
[INFO] : appicon-Marketing.png - Used for iPhone - size: 1024x1024
[INFO] : LaunchLogo~iphone - Used for iphone - size: 320x320 - size: 320x320
[INFO] : LaunchLogo@2x~iphone - Used for iphone - size: 374x374 - size: 374x374
[INFO] : LaunchLogo@3x~iphone - Used for iphone - size: 621x621 - size: 621x621
[INFO] : LaunchLogo~ipad - Used for ipad - size: 384x384 - size: 384x384
[INFO] : LaunchLogo@2x~ipad - Used for ipad - size: 1024x1024 - size: 1024x1024
[INFO] : Processing JavaScript files
[INFO] : Writing app properties
[WARN] : The implicit global scope for variable declarations in app.js is deprecated in 7.5.0, and will be removed in 9.0.0
[WARN] : See http://go.appcelerator.com/Titanium_SDK_7.5.0_Functionality_Update for more info
[INFO] : Writing bootstrap json
[INFO] : Creating launch image set
[INFO] : Creating assets image set
[INFO] : Encrypting JavaScript files
[INFO] : Writing i18n files
[INFO] : Processing Titanium symbols
[INFO] : Removing files
[INFO] : Optimizing .plist and .png files
[INFO] : Writing index.json with listing of JS/JSON files
[INFO] : Invoking xcodebuild
[INFO] : Finished building the application in 2m 6s 121ms
[INFO] : Installing app on device: Motiur Rahman
[INFO] : App successfully installed on device: Motiur Rahman
Please manually launch the application
[INFO] : AppJSTest 1.0 (Powered by Titanium 8.2.1.d03b87890d)
[INFO] :
[INFO] : --------------------------------------------------------------------------------------------------------------------------------------------
[INFO] :
[INFO] : Time : 23:20:22
[INFO] : Event : beforeload
[INFO] : URL : https://jira.appcelerator.org/
[INFO] :
[INFO] : Time : 23:20:23
[INFO] : Event : beforeload
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
[INFO] :
[INFO] : Time : 23:20:23
[INFO] : Event : redirect
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
[INFO] :
[INFO] : Time : 23:20:24
[INFO] : Event : progress
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
[INFO] : Progress : 31.4526%
[INFO] :
[INFO] : Time : 23:20:24
[INFO] : Event : message
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
[INFO] :
[INFO] : Time : 23:20:24
[INFO] : Event : progress
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
[INFO] : Progress : 100.0000%
[INFO] :
[INFO] : Time : 23:20:24
[INFO] : Event : handleLoad
[INFO] : URL : https://jira.appcelerator.org/plugins/servlet/mobile#myjirahome
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment