Comparing version 1.0.0 to 1.0.1
{ | ||
"name": "Ably", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"homepage": "https://www.ably.io/", | ||
@@ -5,0 +5,0 @@ "authors": [ |
/** | ||
* @license Copyright 2017, Ably | ||
* | ||
* Ably JavaScript Library v1.0.0 | ||
* Ably JavaScript Library v1.0.1 | ||
* https://github.com/ably/ably-js | ||
@@ -6,0 +6,0 @@ * |
@@ -35,24 +35,3 @@ var JSONPTransport = (function() { | ||
window.JSONPTransport = JSONPTransport | ||
JSONPTransport.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.jsonpInternetUpUrl; | ||
if(checksInProgress) { | ||
checksInProgress.push(callback); | ||
return; | ||
} | ||
checksInProgress = [callback]; | ||
Logger.logAction(Logger.LOG_MICRO, 'JSONPTransport.checkConnectivity()', 'Sending; ' + upUrl); | ||
var req = new Request('isTheInternetUp', upUrl, null, null, null, CometTransport.REQ_SEND, Defaults.TIMEOUTS); | ||
req.once('complete', function(err, response) { | ||
var result = !err && response; | ||
Logger.logAction(Logger.LOG_MICRO, 'JSONPTransport.checkConnectivity()', 'Result: ' + result); | ||
for(var i = 0; i < checksInProgress.length; i++) checksInProgress[i](null, result); | ||
checksInProgress = null; | ||
}); | ||
Utils.nextTick(function() { | ||
req.exec(); | ||
}); | ||
}; | ||
JSONPTransport.tryConnect = function(connectionManager, auth, params, callback) { | ||
@@ -200,2 +179,24 @@ var transport = new JSONPTransport(connectionManager, auth, params); | ||
}; | ||
Http.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.jsonpInternetUpUrl; | ||
if(checksInProgress) { | ||
checksInProgress.push(callback); | ||
return; | ||
} | ||
checksInProgress = [callback]; | ||
Logger.logAction(Logger.LOG_MICRO, '(JSONP)Http.checkConnectivity()', 'Sending; ' + upUrl); | ||
var req = new Request('isTheInternetUp', upUrl, null, null, null, CometTransport.REQ_SEND, Defaults.TIMEOUTS); | ||
req.once('complete', function(err, response) { | ||
var result = !err && response; | ||
Logger.logAction(Logger.LOG_MICRO, '(JSONP)Http.checkConnectivity()', 'Result: ' + result); | ||
for(var i = 0; i < checksInProgress.length; i++) checksInProgress[i](null, result); | ||
checksInProgress = null; | ||
}); | ||
Utils.nextTick(function() { | ||
req.exec(); | ||
}); | ||
}; | ||
} | ||
@@ -202,0 +203,0 @@ |
@@ -12,3 +12,2 @@ var XHRPollingTransport = (function() { | ||
XHRPollingTransport.isAvailable = XHRRequest.isAvailable; | ||
XHRPollingTransport.checkConnectivity = XHRStreamingTransport.checkConnectivity; | ||
@@ -15,0 +14,0 @@ XHRPollingTransport.tryConnect = function(connectionManager, auth, params, callback) { |
@@ -296,2 +296,12 @@ var XHRRequest = (function() { | ||
}; | ||
Http.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.internetUpUrl; | ||
Logger.logAction(Logger.LOG_MICRO, '(XHRRequest)Http.checkConnectivity()', 'Sending; ' + upUrl); | ||
Http.Request(null, upUrl, null, null, null, function(err, responseText) { | ||
var result = (!err && responseText.replace(/\n/, '') == 'yes'); | ||
Logger.logAction(Logger.LOG_MICRO, '(XHRRequest)Http.checkConnectivity()', 'Result: ' + result); | ||
callback(null, result); | ||
}); | ||
}; | ||
} | ||
@@ -298,0 +308,0 @@ } |
@@ -13,12 +13,2 @@ var XHRStreamingTransport = (function() { | ||
XHRStreamingTransport.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.internetUpUrl; | ||
Logger.logAction(Logger.LOG_MICRO, 'XHRStreamingTransport.checkConnectivity()', 'Sending; ' + upUrl); | ||
Http.Request(null, upUrl, null, null, null, function(err, responseText) { | ||
var result = (!err && responseText.replace(/\n/, '') == 'yes'); | ||
Logger.logAction(Logger.LOG_MICRO, 'XHRStreamingTransport.checkConnectivity()', 'Result: ' + result); | ||
callback(null, result); | ||
}); | ||
}; | ||
XHRStreamingTransport.tryConnect = function(connectionManager, auth, params, callback) { | ||
@@ -25,0 +15,0 @@ var transport = new XHRStreamingTransport(connectionManager, auth, params); |
@@ -5,7 +5,8 @@ var Defaults = { | ||
/* Order matters here: the base transport is the leftmost one in the | ||
* intersection of this list and the transports clientOption that's | ||
* intersection of baseTransportOrder and the transports clientOption that's | ||
* supported. This is not quite the same as the preference order -- e.g. | ||
* xhr_polling is preferred to jsonp, but for browsers that support it we want | ||
* the base transport to be xhr_polling, not jsonp */ | ||
transports: ['xhr_polling', 'xhr_streaming', 'jsonp', 'web_socket'], | ||
defaultTransports: ['xhr_polling', 'xhr_streaming', 'jsonp', 'web_socket'], | ||
baseTransportOrder: ['xhr_polling', 'xhr_streaming', 'jsonp', 'web_socket'], | ||
transportPreferenceOrder: ['jsonp', 'xhr_polling', 'xhr_streaming', 'web_socket'], | ||
@@ -12,0 +13,0 @@ upgradeTransports: ['xhr_streaming', 'web_socket'], |
@@ -32,9 +32,3 @@ var Realtime = (function() { | ||
this.inProgress = {}; | ||
var self = this; | ||
realtime.connection.connectionManager.on('transport.active', function() { | ||
/* nextTick to allow connectionManager to set the connection state to 'connected' if necessary */ | ||
Utils.nextTick(function() { | ||
self.onTransportActive(); | ||
}); | ||
}); | ||
realtime.connection.connectionManager.on('transport.active', this.onTransportActive.bind(this)); | ||
} | ||
@@ -75,3 +69,5 @@ Utils.inherits(Channels, EventEmitter); | ||
var channel = this.all[channelId]; | ||
if(channel.state === 'attaching' || channel.state === 'attached') { | ||
/* NB this should not trigger for merely attaching channels, as they will | ||
* be reattached anyway through the onTransportActive checkPendingState */ | ||
if(channel.state === 'attached') { | ||
channel.requestState('attaching', reason); | ||
@@ -78,0 +74,0 @@ } |
@@ -274,3 +274,5 @@ var RealtimeChannel = (function() { | ||
var syncMessage = ProtocolMessage.fromValues({action: actions.SYNC, channel: this.name}); | ||
syncMessage.channelSerial = this.syncChannelSerial; | ||
if(this.syncChannelSerial) { | ||
syncMessage.channelSerial = this.syncChannelSerial; | ||
} | ||
connectionManager.send(syncMessage); | ||
@@ -480,4 +482,7 @@ }; | ||
/* if can't send events, do nothing */ | ||
if(!this.connectionManager.state.sendEvents) { | ||
Logger.logAction(Logger.LOG_MINOR, 'RealtimeChannel.checkPendingState', 'not connected'); | ||
var cmState = this.connectionManager.state; | ||
/* Allow attach messages to queue up when synchronizing, since this will be | ||
* the state we'll be in when upgrade transport.active triggers a checkpendingstate */ | ||
if(!(cmState.sendEvents || cmState.forceQueueEvents)) { | ||
Logger.logAction(Logger.LOG_MINOR, 'RealtimeChannel.checkPendingState', 'sendEvents is false; state is ' + this.connectionManager.state.state); | ||
return; | ||
@@ -588,8 +593,12 @@ } | ||
if(params && params.untilAttach) { | ||
if(this.state === 'attached') { | ||
delete params.untilAttach; | ||
params.from_serial = this.attachSerial; | ||
} else { | ||
if(this.state !== 'attached') { | ||
callback(new ErrorInfo("option untilAttach requires the channel to be attached", 40000, 400)); | ||
return; | ||
} | ||
if(!this.attachSerial) { | ||
callback(new ErrorInfo("untilAttach was specified and channel is attached, but attachSerial is not defined", 40000, 400)); | ||
return; | ||
} | ||
delete params.untilAttach; | ||
params.from_serial = this.attachSerial; | ||
} | ||
@@ -596,0 +605,0 @@ |
@@ -280,2 +280,3 @@ var RealtimePresence = (function() { | ||
this.channel.setInProgress(RealtimeChannel.progressOps.sync, false); | ||
this.channel.syncChannelSerial = null; | ||
} | ||
@@ -282,0 +283,0 @@ |
@@ -23,3 +23,3 @@ Defaults.protocolVersion = 1; | ||
Defaults.version = '1.0.0'; | ||
Defaults.version = '1.0.1'; | ||
Defaults.libstring = 'js-' + Defaults.version; | ||
@@ -26,0 +26,0 @@ Defaults.apiVersion = '1.0'; |
@@ -26,10 +26,2 @@ "use strict"; | ||
NodeCometTransport.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.internetUpUrl; | ||
/* NodeCometTransport unsuited to rest requests; just use node http package */ | ||
Http.getUri(null, upUrl, null, null, function(err, responseText) { | ||
callback(null, (!err && responseText.toString().trim() === 'yes')); | ||
}); | ||
}; | ||
NodeCometTransport.tryConnect = function(connectionManager, auth, params, callback) { | ||
@@ -36,0 +28,0 @@ var transport = new NodeCometTransport(connectionManager, auth, params); |
@@ -5,4 +5,7 @@ "use strict"; | ||
/* Note: order matters here: the base transport is the leftmost one in the | ||
* intersection of this list and the transports clientOption that's supported */ | ||
transports: ['comet', 'web_socket'], | ||
* intersection of baseTransportOrder and the transports clientOption that's supported. | ||
* (For node this is the same as the transportPreferenceOrder, but for | ||
* browsers it's different*/ | ||
defaultTransports: ['web_socket'], | ||
baseTransportOrder: ['comet', 'web_socket'], | ||
transportPreferenceOrder: ['comet', 'web_socket'], | ||
@@ -9,0 +12,0 @@ upgradeTransports: ['web_socket'], |
@@ -166,3 +166,10 @@ "use strict"; | ||
Http.checkConnectivity = function(callback) { | ||
var upUrl = Defaults.internetUpUrl; | ||
Http.getUri(null, upUrl, null, null, function(err, responseText) { | ||
callback(null, (!err && responseText.toString().trim() === 'yes')); | ||
}); | ||
}; | ||
return Http; | ||
})(); |
{ | ||
"name": "ably", | ||
"description": "Realtime client library for Ably.io, the realtime messaging service", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"main": "./nodejs/index.js", | ||
@@ -6,0 +6,0 @@ "typings": "browser/static/ably.d.ts", |
@@ -5,3 +5,3 @@ # [Ably](https://www.ably.io) | ||
## Version: 1.0.0 | ||
## Version: 1.0.1 | ||
@@ -8,0 +8,0 @@ This repo contains the Ably Javascript client library, for the browser (including IE8+), Nodejs, React Native, NativeScript and Cordova. |
@@ -7,24 +7,13 @@ "use strict"; | ||
var utils = Ably.Realtime.Utils; | ||
function mixinOptions(dest, src) { | ||
for (var key in src) { | ||
if (src.hasOwnProperty(key)) { | ||
dest[key] = src[key]; | ||
} | ||
} | ||
return dest; | ||
} | ||
function ablyClientOptions(options) { | ||
options = options || {}; | ||
var clientOptions = mixinOptions({}, ablyGlobals); | ||
var clientOptions = utils.copy(ablyGlobals) | ||
utils.mixin(clientOptions, options); | ||
var authMethods = ['authUrl', 'authCallback', 'token', 'tokenDetails', 'key']; | ||
if(options) { | ||
mixinOptions(clientOptions, options); | ||
/* Use a default api key if no auth methods provided */ | ||
if(utils.arrEvery(authMethods, function(method) { | ||
return !(method in clientOptions); | ||
})) { | ||
clientOptions.key = testAppHelper.getTestApp().keys[0].keyStr; | ||
} | ||
/* Use a default api key if no auth methods provided */ | ||
if(utils.arrEvery(authMethods, function(method) { | ||
return !(method in clientOptions); | ||
})) { | ||
clientOptions.key = testAppHelper.getTestApp().keys[0].keyStr; | ||
} | ||
@@ -31,0 +20,0 @@ |
@@ -9,3 +9,10 @@ "use strict"; | ||
var utils = clientModule.Ably.Realtime.Utils; | ||
var availableTransports = utils.keysArray(clientModule.Ably.Realtime.ConnectionManager.supportedTransports), | ||
var supportedTransports = utils.keysArray(clientModule.Ably.Realtime.ConnectionManager.supportedTransports), | ||
/* Don't include jsonp in availableTransports if xhr works. Why? Because | ||
* you can't abort requests. So recv's stick around for 90s till realtime | ||
* ends them. So in a test, the browsers max-connections-per-host limit | ||
* fills up quickly, which messes up other comet transports too */ | ||
availableTransports = utils.arrIn(supportedTransports, 'xhr_polling') ? | ||
utils.arrWithoutValue(supportedTransports, 'jsonp') : | ||
supportedTransports, | ||
bestTransport = availableTransports[0], | ||
@@ -109,18 +116,13 @@ /* IANA reserved; requests to it will hang forever */ | ||
function testOnAllTransports(exports, name, testFn, excludeUpgrade) { | ||
/* Don't include jsonp if possible. Why? Because you can't abort requests. So recv's | ||
* stick around for 90s till realtime ends them. So in a test, the | ||
* browsers max-connections-per-host limit fills up quickly, which messes | ||
* up other comet transports too */ | ||
var transports = utils.arrIn(availableTransports, 'xhr_polling') ? | ||
utils.arrWithoutValue(availableTransports, 'jsonp') : | ||
availableTransports; | ||
utils.arrForEach(transports, function(transport) { | ||
utils.arrForEach(availableTransports, function(transport) { | ||
exports[name + '_with_' + transport + '_binary_transport'] = testFn({transports: [transport], useBinaryProtocol: true}); | ||
exports[name + '_with_' + transport + '_text_transport'] = testFn({transports: [transport], useBinaryProtocol: false}); | ||
}); | ||
/* Plus one for no transport specified (ie use upgrade mechanism if present) */ | ||
/* Plus one for no transport specified (ie use upgrade mechanism if | ||
* present). (we explicitly specify all transports since node only does | ||
* nodecomet+upgrade if comet is explicitly requested | ||
* */ | ||
if(!excludeUpgrade) { | ||
exports[name + '_with_binary_transport'] = testFn({useBinaryProtocol: true}); | ||
exports[name + '_with_text_transport'] = testFn({useBinaryProtocol: false}); | ||
exports[name + '_with_binary_transport'] = testFn({transports: availableTransports, useBinaryProtocol: true}); | ||
exports[name + '_with_text_transport'] = testFn({transports: availableTransports, useBinaryProtocol: false}); | ||
} | ||
@@ -127,0 +129,0 @@ } |
@@ -328,3 +328,3 @@ "use strict"; | ||
firedImmediately = true; | ||
test.ok(channel.state === 'attached', 'whenState fired when attached'); | ||
test.equal(channel.state, 'attached', 'whenState fired when attached'); | ||
closeAndFinish(test, realtime); | ||
@@ -331,0 +331,0 @@ }); |
@@ -139,3 +139,4 @@ "use strict"; | ||
connectionManager.once('transport.active', function(transport) { | ||
realtime.connection.once('connected', function() { | ||
var transport = connectionManager.activeProtocol.transport; | ||
channel.attach(function(err) { | ||
@@ -164,3 +165,3 @@ if(err) { | ||
/* After the disconnect, on reconnect, spy on transport.send again */ | ||
connectionManager.once('transport.active', function(transport) { | ||
connectionManager.once('transport.pending', function(transport) { | ||
var oldSend = transport.send; | ||
@@ -174,3 +175,3 @@ | ||
} else if(msg.messages[0].name === 'second') { | ||
test.equal(msg.msgSerial, 1, 'Expect msgSerial of new message to be 0'); | ||
test.equal(msg.msgSerial, 1, 'Expect msgSerial of new message to be 1'); | ||
cb(); | ||
@@ -177,0 +178,0 @@ } |
@@ -7,6 +7,4 @@ "use strict"; | ||
monitorConnection = helper.monitorConnection, | ||
utils = helper.Utils, | ||
availableHttpTransports = utils.keysArray(Ably.Realtime.ConnectionManager.httpTransports); | ||
utils = helper.Utils; | ||
exports.setupConnectivity = function(test) { | ||
@@ -28,28 +26,7 @@ test.expect(1); | ||
exports.http_connectivity_check = function(test) { | ||
test.expect(availableHttpTransports.length); | ||
try { | ||
var connectivity_test = function(transport) { | ||
return function(cb) { | ||
Ably.Realtime.ConnectionManager.httpTransports[transport].checkConnectivity(function(err, res) { | ||
console.log("Transport " + transport + " connectivity check returned ", err, res) | ||
test.ok(res, 'Connectivity check for ' + transport); | ||
cb(err); | ||
}) | ||
}; | ||
}; | ||
async.parallel( | ||
utils.arrMap(availableHttpTransports, function(transport) { | ||
return connectivity_test(transport); | ||
}), | ||
function(err) { | ||
if(err) { | ||
test.ok(false, helper.displayError(err)); | ||
} | ||
test.done(); | ||
} | ||
); | ||
} catch(e) { | ||
test.ok(false, 'connection failed with exception: ' + e.stack); | ||
test.expect(1); | ||
Ably.Realtime.Http.checkConnectivity(function(err, res) { | ||
test.ok(res && !err, 'Connectivity check completed ' + (err && utils.inspectError(err))); | ||
test.done(); | ||
} | ||
}) | ||
}; | ||
@@ -56,0 +33,0 @@ |
@@ -267,3 +267,3 @@ "use strict"; | ||
try { | ||
realtime = helper.AblyRealtime(); | ||
realtime = helper.AblyRealtime({transports: helper.availableTransports}); | ||
test.equal(realtime.connection.connectionManager.baseTransport, 'comet'); | ||
@@ -270,0 +270,0 @@ test.deepEqual(realtime.connection.connectionManager.upgradeTransports, ['web_socket']); |
@@ -82,3 +82,3 @@ "use strict"; | ||
var realtime = helper.AblyRealtime(realtimeOpts); | ||
realtime.connection.on('connected', function() { | ||
realtime.connection.once('connected', function() { | ||
var channel = realtime.channels.get('publishfast_' + String(Math.random()).substr(2)); | ||
@@ -168,3 +168,3 @@ channel.attach(function(err) { | ||
function(cb) { | ||
realtime.connection.on('connected', function() { cb(); }); | ||
realtime.connection.once('connected', function() { cb(); }); | ||
realtime.connection.connect(); | ||
@@ -171,0 +171,0 @@ } |
@@ -47,3 +47,3 @@ "use strict"; | ||
exports.publishpreupgrade = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -93,3 +93,3 @@ try { | ||
exports.publishpostupgrade0 = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -155,3 +155,3 @@ try { | ||
exports.publishpostupgrade1 = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -231,3 +231,3 @@ try { | ||
}; | ||
var transportOpts = {useBinaryProtocol: false}; | ||
var transportOpts = {useBinaryProtocol: false, transports: helper.availableTransports}; | ||
var realtime = helper.AblyRealtime(transportOpts); | ||
@@ -261,3 +261,3 @@ test.expect(count); | ||
}; | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
var realtime = helper.AblyRealtime(transportOpts); | ||
@@ -280,3 +280,3 @@ test.expect(count); | ||
exports.upgradebase0 = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(2); | ||
@@ -321,3 +321,3 @@ try { | ||
exports.upgradeheartbeat0 = function(test) { | ||
var transportOpts = {useBinaryProtocol: false}; | ||
var transportOpts = {useBinaryProtocol: false, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -359,3 +359,3 @@ try { | ||
exports.upgradeheartbeat1 = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -397,3 +397,3 @@ try { | ||
exports.upgradeheartbeat2 = function(test) { | ||
var transportOpts = {useBinaryProtocol: false}; | ||
var transportOpts = {useBinaryProtocol: false, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -449,3 +449,3 @@ try { | ||
exports.upgradeheartbeat3 = function(test) { | ||
var transportOpts = {useBinaryProtocol: true}; | ||
var transportOpts = {useBinaryProtocol: true, transports: helper.availableTransports}; | ||
test.expect(1); | ||
@@ -505,3 +505,3 @@ try { | ||
/* on base transport active */ | ||
realtime = helper.AblyRealtime(); | ||
realtime = helper.AblyRealtime({transports: helper.availableTransports}); | ||
realtime.connection.connectionManager.once('transport.active', function(transport) { | ||
@@ -543,3 +543,3 @@ test.ok(transport.toString().indexOf('/comet/') > -1, 'assert first transport to become active is a comet transport'); | ||
exports.attach_timeout_on_base_transport = function(test) { | ||
var realtime = helper.AblyRealtime({realtimeRequestTimeout: 3000}), | ||
var realtime = helper.AblyRealtime({transports: helper.availableTransports, realtimeRequestTimeout: 3000}), | ||
channel = realtime.channels.get('timeout0'), | ||
@@ -555,5 +555,5 @@ connectionManager = realtime.connection.connectionManager; | ||
channel.attach(function(err){ | ||
test.ok(err.code, 90000, 'Check error code for channel attach timing out'); | ||
test.ok(channel.state, 'suspended', 'Check channel goes into suspended state'); | ||
test.ok(realtime.connection.state, 'connected', 'Check connection state is still connected'); | ||
test.equal(err.code, 90007, 'Check error code for channel attach timing out'); | ||
test.equal(channel.state, 'suspended', 'Check channel goes into suspended state'); | ||
test.equal(realtime.connection.state, 'connected', 'Check connection state is still connected'); | ||
channel.attach(function(err){ | ||
@@ -572,3 +572,3 @@ test.ok(!err, 'Check a second attach works fine'); | ||
exports.message_timeout_stalling_upgrade = function(test) { | ||
var realtime = helper.AblyRealtime({httpRequestTimeout: 3000}), | ||
var realtime = helper.AblyRealtime({transports: helper.availableTransports, httpRequestTimeout: 3000}), | ||
channel = realtime.channels.get('timeout1'), | ||
@@ -614,3 +614,3 @@ connectionManager = realtime.connection.connectionManager; | ||
test.expect(5); | ||
var realtime = helper.AblyRealtime({realtimeRequestTimeout: 2000}), | ||
var realtime = helper.AblyRealtime({transports: helper.availableTransports, realtimeRequestTimeout: 2000}), | ||
connection = realtime.connection; | ||
@@ -662,3 +662,3 @@ | ||
exports.persist_transport_prefs = function(test) { | ||
var realtime = helper.AblyRealtime(), | ||
var realtime = helper.AblyRealtime({transports: helper.availableTransports}), | ||
connection = realtime.connection, | ||
@@ -705,3 +705,3 @@ connectionManager = connection.connectionManager; | ||
exports.upgrade_original_transport_dies = function(test) { | ||
var realtime = helper.AblyRealtime(), | ||
var realtime = helper.AblyRealtime({transports: helper.availableTransports}), | ||
connection = realtime.connection, | ||
@@ -708,0 +708,0 @@ connectionManager = connection.connectionManager; |
window.__karma__ = { base: '../' }; | ||
window.__karma__.files = {"browser/static/ably-commonjs.js":true,"browser/static/ably-commonjs.noencryption.js":true,"browser/static/ably-nativescript.js":true,"browser/static/ably-reactnative.js":true,"browser/static/ably.js":true,"browser/static/ably.min.js":true,"browser/static/ably.noencryption.js":true,"browser/static/ably.noencryption.min.js":true,"browser/lib/util/base64.js":true,"node_modules/async/lib/async.js":true,"spec/common/globals/environment.js":true,"spec/common/globals/named_dependencies.js":true,"spec/common/modules/client_module.js":true,"spec/common/modules/shared_helper.js":true,"spec/common/modules/testapp_manager.js":true,"spec/common/modules/testapp_module.js":true,"spec/common/ably-common/test-resources/crypto-data-128.json":true,"spec/common/ably-common/test-resources/crypto-data-256.json":true,"spec/common/ably-common/test-resources/messages-encoding.json":true,"spec/common/ably-common/test-resources/test-app-setup.json":true,"spec/support/browser_file_list.js":true,"spec/support/browser_setup.js":true,"spec/support/environment.vars.js":true,"spec/support/modules_helper.js":true,"spec/support/tear_down.js":true,"spec/support/test_helper.js":true,"spec/realtime/auth.test.js":true,"spec/realtime/channel.test.js":true,"spec/realtime/connection.test.js":true,"spec/realtime/connectivity.test.js":true,"spec/realtime/crypto.test.js":true,"spec/realtime/encoding.test.js":true,"spec/realtime/event_emitter.test.js":true,"spec/realtime/failure.test.js":true,"spec/realtime/history.test.js":true,"spec/realtime/init.test.js":true,"spec/realtime/message.test.js":true,"spec/realtime/presence.test.js":true,"spec/realtime/reauth.test.js":true,"spec/realtime/resume.test.js":true,"spec/realtime/sync.test.js":true,"spec/realtime/upgrade.test.js":true,"spec/rest/auth.test.js":true,"spec/rest/capability.test.js":true,"spec/rest/defaults.test.js":true,"spec/rest/history.test.js":true,"spec/rest/http.test.js":true,"spec/rest/init.test.js":true,"spec/rest/message.test.js":true,"spec/rest/presence.test.js":true,"spec/rest/request.test.js":true,"spec/rest/stats.test.js":true,"spec/rest/time.test.js":true,"spec/browser/connection.test.js":true,"spec/browser/simple.test.js":true}; | ||
window.__karma__.files = {"browser/static/ably-commonjs.js":true,"browser/static/ably-commonjs.noencryption.js":true,"browser/static/ably-nativescript.js":true,"browser/static/ably-reactnative.js":true,"browser/static/ably.js":true,"browser/static/ably.min.js":true,"browser/static/ably.noencryption.js":true,"browser/static/ably.noencryption.min.js":true,"browser/lib/util/base64.js":true,"node_modules/async/lib/async.js":true,"spec/common/globals/environment.js":true,"spec/common/globals/named_dependencies.js":true,"spec/common/modules/client_module.js":true,"spec/common/modules/shared_helper.js":true,"spec/common/modules/testapp_manager.js":true,"spec/common/modules/testapp_module.js":true,"spec/common/ably-common/test-resources/crypto-data-128.json":true,"spec/common/ably-common/test-resources/crypto-data-256.json":true,"spec/common/ably-common/test-resources/messages-encoding.json":true,"spec/common/ably-common/test-resources/test-app-setup.json":true,"spec/support/browser_file_list.js":true,"spec/support/browser_setup.js":true,"spec/support/environment.vars.js":true,"spec/support/modules_helper.js":true,"spec/support/tear_down.js":true,"spec/support/test_helper.js":true,"spec/realtime/auth.test.js":true,"spec/realtime/channel.test.js":true,"spec/realtime/connection.test.js":true,"spec/realtime/connectivity.test.js":true,"spec/realtime/crypto.test.js":true,"spec/realtime/encoding.test.js":true,"spec/realtime/event_emitter.test.js":true,"spec/realtime/failure.test.js":true,"spec/realtime/history.test.js":true,"spec/realtime/init.test.js":true,"spec/realtime/message.test.js":true,"spec/realtime/presence.test.js":true,"spec/realtime/reauth.test.js":true,"spec/realtime/resume.test.js":true,"spec/realtime/sync.test.js":true,"spec/realtime/tmp.test.js":true,"spec/realtime/upgrade.test.js":true,"spec/rest/auth.test.js":true,"spec/rest/capability.test.js":true,"spec/rest/defaults.test.js":true,"spec/rest/history.test.js":true,"spec/rest/http.test.js":true,"spec/rest/init.test.js":true,"spec/rest/message.test.js":true,"spec/rest/presence.test.js":true,"spec/rest/request.test.js":true,"spec/rest/stats.test.js":true,"spec/rest/time.test.js":true,"spec/browser/connection.test.js":true,"spec/browser/simple.test.js":true}; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3761811
164
82804