Yes - this particular bug is fixed in the current version.
The Version with the bug is:
//=============================================================================
// Orbiter_2.0.0.783_Release
//
http://www.unionplatform.com// Release Date: 26-July-2012
// (c) Copyright USER1 Subsystems Corporation
//=============================================================================
and the relevant code, starting at line 4562 is
- Code: Select all
// ============================================================================
// MESSAGING
// ============================================================================
net.user1.orbiter.Client.prototype.sendMessage = function (messageName) {
if (this.clientManager == null) {
return;
}
// Delegate to ClientManager
var rest = Array.prototype.slice.call(arguments).slice(1);
var args = [messageName,
[getClientID()], // <<<<< THIS IS THE OFFENDING LINE
null];
this.clientManager.sendMessage.apply(this.clientManager, args.concat(rest));
}
In the current version:
//==============================================================================
// Orbiter_2.1.1.856_Release
//
http://www.unionplatform.com// Release Date: 28-January-2014
// (c) Copyright USER1 Subsystems Corporation
//==============================================================================
It does appear that the (obvious) fix has been applied
// =============================================================================
// MESSAGING
// =============================================================================
- Code: Select all
net.user1.orbiter.Client.prototype.sendMessage = function (messageName) {
if (this.clientManager == null) {
return;
}
// Delegate to ClientManager
var rest = Array.prototype.slice.call(arguments).slice(1);
var args = [messageName,
[this.getClientID()], // <<<<<<<< FIX APPLIED HERE
null];
this.clientManager.sendMessage.apply(this.clientManager, args.concat(rest));
};
The missing "this." has been added.
There were a couple of similar cases:
- RoomManager.stopWatchingForRooms ... fixed by initializing recursive = false
- clientManager.getClientByUserID is unchanged ... might still fail if non-existent id is requested
since variable "theClient" is not initialized and then possibly tested without ever having been set as
if (theClient === null)
at line 5358 of the current version.