Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Map keeps switching on its own.

So yeah. Basically, the game creates a blank, untitled page on its own and switches to it every now and then. It's been happening once in a while before, nothing big. Once every 4-5 games. But now it's been doing that 6 times in less than an hour. What's going on?
Using Firefox 18.0 - Problem happens randomly.
1359060365
Gauss
Forum Champion
That is odd. To start with, could we get a copy of the report (without your IP address) from <a href="http://supportdetails.com/" rel="nofollow">http://supportdetails.com/</a> Second, when this occurs could you please hit Ctrl+Shift+K and report any errors. - Gauss
Operating System Microsoft Windows 7 Screen Resolution 1680 x 1050 Web Browser Firefox 18.0 Browser Size 1680 x 934 IP Address -- Color Depth 24 bit Javascript Enabled Flash Version 11.5.502 Cookies Enabled What is CTRL SHIFT K supposed to do, by the way?
1359061758
Gauss
Forum Champion
For Firefox it opens the console. I don't use Firefox myself but in Chrome it posts the errors in red. - Gauss
It doesn't do that. :/
Actually it does, but there's a shortcut on roll20 that overrides Firefox... I think it's switch to GM layer.
1359063710
Gauss
Forum Champion
Dang, you are right. How to get there: At the top go to Tools -> Web Developer -> Web Console - Gauss
It stopped doing it for a while now. Although I am not sure this is related, I'm noticing something else. A single player OR character (can't know for sure because both the character and account name are the same) has 10 copies of himself. Like, when I want to give control of the Hubert icon to the player Hubert, in the list, there's 10 or so Hubert Nystrom. IDK which is which, and why he's the only one with copies like that. Think it's related?
1359065197
Gauss
Forum Champion
Zentsuki, what is the name of your campaign? - Gauss
Exiled.
It's pretty much unplayable right now...
1359071162
Gauss
Forum Champion
Posted bug report. - Gauss
Zentuski, I took a look at your Exile campaign (the original one, not any of the copies...) I'm not sure what would have been causing the "new maps" issue to happen...is it still happening? As gauss said, we'll need a console log to figure that one out if it is. I've never really heard of this happening before. The other issue with Hubert is also odd. I took a look and for some reason it did indeed create several copies of Hubert's character. Do you know how long ago those copies were made? And is it still happening (e.g. are more Huberts being created?) Something you can do to help with this is to have Hubert (the player) go to his My Settings tab (the gear icon at the top), and scroll down to find "Display Name". He can edit that name to something else (e.g. "Real Hubert") and then click Save -- that way you'll know that you are picking the right one from the list. If after he does that when he logs in he is no longer "The Real Hubert" let me know...also I may be able to delete the other Huberts after he does that for you. Sorry for the trouble, both of these are very strange issues I've never seen before. - RD
Hi Riley, Later in the evening the main problem (about the map switching) happened less often... at some point it was really unplayable and very frustrating for my players but we managed to finish it anyway. If it happens again I'll try to get the console or whatever, although my firefox is in french, I'm not sure if that's going to help you much. Next game is probably going to be in a week, I'll keep you updated. About Hubert, that's what I had him do, he switched his name for Hubert N. However, at some point his computer crashed, and when he relogged, he couldn't control his token anymore, and there was yet another Hubert. It would really help if you could delete all of the huberts, thanks!
Oh and as far as I can tell it's been doing that Hubert thingy only since this week. I never noticed that before. As for the map switching, it happened once in a while before, as in once every 6-7 games or so. Never happened that much before yesterday (We're talking 10 times an hour.)
1359334881
Gauss
Forum Champion
Zentsuki, just checking in to see if the problem with the map switching is still occuring. If it is could you post the Console log when it happens? Console log: At the top go to Tools -> Web Developer -> Web Console - Gauss
We haven't played since. However, there were still multiple Hubert when I last checked yesterday.
Hello there. Just a quick update, Hubert keeps creating duplicates whenever he logs on. Now Zhaar is doing that as well. It also switched once to another map, although it didn't create a new one this time I think. It switched to an existing one. There you go for... stuff. [23:21:49,995] Clearing off-screen canvas! [23:21:50,024] init active page! [23:21:50,024] activate page! [23:21:50,027] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/585178/jVG4oHq7kXrEL9-TE1hR0g/med.jpg?13596121565" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/585178/jVG4oHq7kXrEL9-TE1hR0g/med.jpg?13596121565</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/585178/jVG4oHq7kXrEL9-TE1hR0g/max.jpg?13596121565" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/585178/jVG4oHq7kXrEL9-TE1hR0g/max.jpg?13596121565</a> [23:21:50,044] Reorder by Z [23:21:50,061] capture page order! [23:21:50,314] refershing page listings! [23:21:50,404] init active page! [23:21:50,405] activate page! [23:21:51,302] Clearing off-screen canvas! [23:21:51,310] init active page! [23:21:51,310] activate page! [23:21:51,322] autograv [23:21:51,343] Reorder by Z [23:21:52,518] setting src [23:21:52,574] refershing page listings! [23:21:52,588] Reorder by Z [23:21:54,443] Clearing off-screen canvas! [23:21:54,453] init active page! [23:21:54,453] activate page! [23:21:54,475] Reorder by Z [23:21:54,559] refershing page listings! [23:21:54,982] autograv [23:21:56,910] drop [23:21:57,138] refershing page listings! -- [23:22:02,497] autograv [23:22:07,446] init active page! [23:22:07,447] activate page! [23:22:08,347] refershing page listings! [23:22:08,370] Reorder by Z -- [23:22:16,760] Someone just connected. [23:22:16,760] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"connectionCreated", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"4f525e7c9e3388fba05b3e97d294db754ddbdb2e", creationTime:1359680392388, data:"31466", quality:null}, subscribers:{}, publishers:{}, streams:{}, apiKey:12312882, capabilities:{signal:1, record:0, forceUnpublish:0, playback:0, publish:1, subscribe:1, publishH264:true, forceDisconnect:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz00ZTk1NWUzMTY0ZjllMGY1YzY2OGRmOGE0NjJjM2I3MDljY2I5N2M2OnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM1OTY4MDM2MiZub25jZT0wLjQ2MTQ3NjM5NDk0MjQyMjImY29ubmVjdGlvbl9kYXRhPTMxNDY2", properties:{playerid:"B7A94382-9B15-4F92-BD94-8980356F1299", displayname:"Zentsuki"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"6d8e2a8317c4353bd28ae13c440a30709fb52ea2", creationTime:1359688927725, data:"68298", quality:null}], reason:""}) [23:22:16,760] Begin publishing! -- [23:22:42,030] window resize [23:22:42,053] init active page! [23:22:42,055] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915</a> [23:22:42,055] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655</a> [23:22:42,056] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055</a> [23:22:42,114] init active page! [23:22:42,307] refershing page listings! [23:22:42,345] setting src -- [23:23:43,305] autograv [23:23:46,032] drop [23:23:46,267] refershing page listings! [23:23:46,594] Clearing off-screen canvas! [23:23:46,617] init active page! [23:23:46,617] activate page! [23:23:46,619] nothign selected [23:23:46,772] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915</a> [23:23:46,797] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655</a> [23:23:46,810] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055</a> [23:23:47,411] autograv [23:23:47,434] refershing page listings! [23:23:47,449] Reorder by Z [23:23:47,616] setting src [23:23:49,683] Clearing off-screen canvas! [23:23:49,699] init active page! [23:23:49,699] activate page! [23:23:49,717] Reorder by Z [23:23:49,798] refershing page listings! [23:23:51,078] autograv [23:23:52,600] drop [23:23:52,703] refershing page listings! [23:23:54,289] init active page! [23:23:54,289] activate page! [23:23:54,292] Reorder by Z [23:23:54,391] refershing page listings! [23:23:54,804] autograv [23:23:56,437] drop [23:23:56,656] refershing page listings! [23:23:57,581] autograv -- [23:24:03,092] Recived connection destroyed event [23:24:03,551] Finished after going 1 levels deep. -- [23:24:18,300] Player -IhOEyzG_s2h-SNzVLkK is offline... -- [23:24:30,813] Finished after going 1 levels deep. [23:24:33,739] Someone just connected. [23:24:33,739] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"connectionCreated", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"4f525e7c9e3388fba05b3e97d294db754ddbdb2e", creationTime:1359680392388, data:"31466", quality:null}, subscribers:{}, publishers:{}, streams:{}, apiKey:12312882, capabilities:{signal:1, record:0, forceUnpublish:0, playback:0, publish:1, subscribe:1, publishH264:true, forceDisconnect:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz00ZTk1NWUzMTY0ZjllMGY1YzY2OGRmOGE0NjJjM2I3MDljY2I5N2M2OnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM1OTY4MDM2MiZub25jZT0wLjQ2MTQ3NjM5NDk0MjQyMjImY29ubmVjdGlvbl9kYXRhPTMxNDY2", properties:{playerid:"B7A94382-9B15-4F92-BD94-8980356F1299", displayname:"Zentsuki"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"9c60f1e7650a1f0cf3c4a13d0001deaf484e71ec", creationTime:1359689064516, data:"69037", quality:null}], reason:""}) [23:24:33,739] Begin publishing! [23:24:34,383] autograv [23:24:35,810] Recived connection destroyed event [23:24:36,173] Player -IhMozrboaAVo7bSMVyo is offline... [23:24:36,313] autograv -- [23:24:42,465] init active page! [23:24:42,657] refershing page listings! [23:24:43,690] autograv [23:24:45,221] refershing page listings! [23:24:46,895] init active page! [23:24:46,895] activate page! [23:24:46,905] Reorder by Z [23:24:46,996] refershing page listings! [23:24:47,644] autograv [23:24:51,906] capture page order! [23:24:53,468] refershing page listings! [23:24:56,576] drop [23:24:56,860] refershing page listings! [23:24:58,118] drop [23:24:58,334] refershing page listings! [23:24:59,416] autograv [23:25:00,915] init active page! [23:25:00,915] activate page! [23:25:01,805] refershing page listings! [23:25:01,829] Reorder by Z [23:25:03,780] Fin de fichier inattendue durant la recherche de couleur. @ from DOM -- [23:25:09,176] Someone just connected. [23:25:09,177] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"connectionCreated", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"4f525e7c9e3388fba05b3e97d294db754ddbdb2e", creationTime:1359680392388, data:"31466", quality:null}, subscribers:{}, publishers:{}, streams:{}, apiKey:12312882, capabilities:{signal:1, record:0, forceUnpublish:0, playback:0, publish:1, subscribe:1, publishH264:true, forceDisconnect:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz00ZTk1NWUzMTY0ZjllMGY1YzY2OGRmOGE0NjJjM2I3MDljY2I5N2M2OnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM1OTY4MDM2MiZub25jZT0wLjQ2MTQ3NjM5NDk0MjQyMjImY29ubmVjdGlvbl9kYXRhPTMxNDY2", properties:{playerid:"B7A94382-9B15-4F92-BD94-8980356F1299", displayname:"Zentsuki"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"6034ba16aaf05604c4866608bf5154f6cbb39a82", creationTime:1359689100156, data:"69136", quality:null}], reason:""}) [23:25:09,177] Begin publishing! -- [23:25:36,749] Finished after going 1 levels deep. -- [23:26:32,485] window resize [23:26:32,500] init active page! [23:26:32,500] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915</a> [23:26:32,500] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655</a> [23:26:32,501] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055</a> [23:26:32,538] init active page! [23:26:32,649] window resize [23:26:32,657] init active page! [23:26:32,658] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/max.jpg?13563812915</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/469354/qQKEi9KFU1o2ghgbXlghZA/original.jpg?13563812915</a> [23:26:32,658] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/thumb.jpg?135484532655</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/428799/T6upwSxH8VHL9KPF0d67ag/med.jpg?135484532655</a> [23:26:32,658] Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/thumb.jpeg?135139144055</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/322682/4Tq7m4k0ubH3fXx3Wt9WSg/med.jpeg?135139144055</a> [23:26:32,666] init active page! [23:26:32,772] refershing page listings! [23:26:32,825] setting src
Thanks for getting us the console log. Unfortunately I'm not really seeing anything that would indicate why it would be randomly creating pages. If you create a copy of the campaign using the Copy/Extend campaign button, does this happen on the new campaign as well? Also, to track down why Hubert is creating new copies of himself, it would be useful if we could see his log as well. Sorry for the trouble!
Riley : yes, we tried to copy/Extend and it does the same. Will ask for Hubert and Zhaar on thursday for their console log, but they may use either Google Chrome or IE, could you tell me where they have to go to get the console with those two browsers? Thanks!
Ok it happened twice yesterday (Map switching on its own), both times it happened when Zhaar logged on the campaign. Will try to get his web console. I asked him to do it, he never told me if he actually copied it, will ask him later.
Alright so now for some reason I can't post Zhaar Web Console. Maybe the post is too long so I'll try splitting it up. So like I was saying, Hubert doesn't seem to be creating duplicates of himself anymore (although his old ones remains, would like a clean up please...) while Zhaar does now. He also makes the map crash for every player every time he logs on, it creates a blank page and switches them there now.
[22:57:44,279] 70 [22:57:44,280] TOUCH SUPPORTED: false [22:57:44,321] Switch mode to select [22:57:44,405] Initializing new dice engine with ranomness... [22:57:44,446] window resize [22:57:44,464] tuts loaded [22:57:46,514] Final page load. [22:57:46,523] Scan for new plays! -- [22:58:06,177] initial setup [22:58:06,183] joining game... [22:58:06,255] can't find previous page! [22:58:10,401] Scan for new plays! [22:58:10,790] Player -ImrwzpcI4fv_wj7EY08 is offline... [22:58:11,083] Firebase Online [22:58:11,552] no player page id! [22:58:12,438] init active page! [22:58:12,440] attr view! [22:58:12,888] Player -IeTByboT_8Kcaa-MJOM is offline... [22:58:12,889] Player -IeUJvN7sBTpRmYW88yv is offline... [22:58:12,900] Player -IhOEyzG_s2h-SNzVLkK is offline... [22:58:12,901] Player -Ikb9aKbqexdj1Uk5HFH is offline... [22:58:12,901] Player -IkgJ21XaPwSuRe-oSJC is offline... [22:58:12,902] Player -IlG3z25GaZN9JJF4N50 is offline... [22:58:12,903] Player -IlToFVTYJojVaMdKLfi is offline... [22:58:12,903] Player -Ilj3fyfg3c5_Syri2OT is offline... [22:58:12,904] Player -Ilj4KXLMimEQj83-eQD is offline... [22:58:12,904] Player -Ilj6zRuGN0u0gqt7Epz is offline... [22:58:12,905] Player -Ilj9TQH-glhM9t-yxY0 is offline... [22:58:12,906] Player -IljAZaAIfCkxrspmUKx is offline... [22:58:12,906] Player -IljCSlr6oPOXa7tv-MR is offline... [22:58:12,907] Player -IljPLafvSh4r0AQvob1 is offline... [22:58:12,908] Player -IljQ7N9DqgJwcfifbis is offline... [22:58:12,908] Player -IljRIUsfLTbkQe4Yx3s is offline... [22:58:12,909] Player -IljejZeSJm1glJK-c6H is offline... [22:58:12,913] Player -ImDm1REWXyHc5_2A6gU is offline... [22:58:12,914] Player -ImIB7h-2GqDsprqOdM4 is offline... [22:58:12,915] Player -ImIlRlWLv67p64rfCDf is offline... [22:58:12,916] Player -Imrrh0V-_wDq3sZNdJw is offline... [22:58:12,959] initiatlizing video chat [22:58:13,809] Error loading image, probably due to cors. Trying once without CORS. [22:58:17,111] Connected to session [22:58:17,111] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"sessionConnected", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", creationTime:1360295891702, data:"68866", quality:null}, subscribers:{}, publishers:{publisher_1:{id:"publisher_1", replacedDivId:"publisher_video", parentClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), _:{parent:{}, DOMcomponent:({}), load:(function (a8,a9){ap[a3.id]=a3;for(var a7 in a8){if(a8.hasOwnProperty(a7)){a3[a7]=a8[a7]}}aY.onLoad(function(){var ba=a3.replacedDivId,bb=a3.id;if(!ba){document.body.appendChild((function(){var bc=document.createElement("div");ba="component_replace_"+bb;bc.setAttribute("id",ba);return bc})())}else{if(typeof(ba)!=="string"&amp;&amp;"id" in ba){if(!ba.id){ba.id="tmpId"+Math.random()}ba=ba.id}}a3.replacedDivId=ba;if(!document.getElementById(ba)){errorMsg="UIComponent :: replaceElementId does not exist in DOM.";aG(errorMsg);throw new Error(errorMsg)}X(a3.src,a3.replacedDivId,a3.properties.width,a3.properties.height,A,false,a3.properties,a3.params,a3.attributes)})}), onload:(function (){u("Component loaded: "+this.id);this._.DOMcomponent=document.getElementById(this.id);for(var a7=0;a7&lt;a5.length;a7++){a5[a7].call(this._)}if(this.modified){this.setStyle(this._style);this.modified=false}this.dispatchEvent(new W("loaded"))}), callFlash:(function (bb,a8,a7){if(!a7||typeof(a7)!=="object"){a7={}}if(!a8){a8=[]}u("Pending: "+bb+"("+a8.join(",")+") on component "+this.parent.id);var a9=a7.debug||(bb+"("+a8.join(",")+") on component "+this.parent.id+" failed");var ba=function ba(){try{u("callFlash: "+bb+"("+a8.join(",")+") on component "+this.parent.id);return this.DOMcomponent[bb].apply(this.DOMcomponent,a8)}catch(bc){if(!a7||!a7.hasOwnProperty("silentError")||!a7.silentError){aG(a9);throw new Error(a9)}}return false};if(!a7.once){a5.push(ba)}if(this.DOMcomponent){return ba.call(this)}else{if(a7.otherwise){return(typeof(a7.otherwise)!=="function")?a7.otherwise:a7.otherwise()}}}), refresh:(function (){this.parent.properties.startTime=(new Date()).getTime();this.callFlash("cleanupView",null,{once:true});this.parent.replacedDivId=this.parent.id;this.load()}), publishToSession:(function (bb,a9,a8,ba){this.callFlash("publishToSession",[bb,a9,a8,ba]);return this.parent}), unpublishFromSession:(function (a8){if(this.DOMcomponent){this.callFlash("unpublishFromSession",[a8])}return this.parent}), signalRecording:(function (a8){return this.callFlash(a8?"signalRecordingStarted":"signalRecordingStopped")})}, getStyle:(function (a9){var a7=document.getElementById(this.id),bc;if(!this.loaded){if(a9){return this._style[a9]}else{return this._style}}else{if(a7){try{var ba=a7.getStyle(a9);if(typeof(ba)=="string"){return ba}for(var a8 in ba){if(ba[a8]=="false"){ba[a8]=false}if(ba[a8]=="true"){ba[a8]=true}if(a3.indexOf(a8)&lt;0){delete ba[a8]}}return ba}catch(bb){bc="Publisher.getStyle:: Failed to call getStyle. "+bb;aG(bc);throw new Error(bc)}}else{bc="Publisher.getStyle:: Publisher "+this.id+" does not exist.";aG(bc);throw new Error(bc)}}}), _style:{showMicButton:true, showSettingsButton:true, showCameraToggleButton:true, nameDisplayMode:"off", buttonDisplayMode:"auto", backgroundImageURI:null}, setStyle:(function (a9,bc){u("Publisher.setStyle: "+a9.toString());var a7=document.getElementById(this.id),bb;if(!this.loaded){if(arguments.length&gt;1){if(this._style.hasOwnProperty(a9)&amp;&amp;(a9=="backgroundImageURI"||(a5[a9].indexOf(bc)&gt;-1))){u("setStyle::Setting "+a9+" to "+bc);this._style[a9]=bc}else{a1("setStyle::Invalid style property passed "+a9+" : "+bc)}}else{for(var a8 in a9){this.setStyle(a8,a9[a8])}}this.modified=true}else{if(a7){try{a7.setStyle(a9,bc)}catch(ba){bb="Publisher.setStyle:: Failed to call setStyle. "+ba;aG(bb);throw new Error(bb)}}else{bb="Publisher.setStyle:: Publisher "+this.id+" does not exist.";aG(bb);throw new Error(bb)}}return this}), getImgData:(function (){return this._.callFlash("getImgData")}), loaded:true, panelId:null, properties:{microphoneGain:50, publishAudio:true, publishVideo:true, height:"150", width:"150", name:"-ImrwzpcI4fv_wj7EY08", reportMicLevels:true, style:"%7B%20%22nameDisplayMode%22%3A%22off%22%20%7D", sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", apiKey:12312882, simulateMobile:false, publisherId:"publisher_1", startTime:1360295897114}, modified:false, src:"<a href="http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882" rel="nofollow">http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882</a>", attributes:{id:"publisher_1", style:"outline:none;"}, params:{allowscriptaccess:"always", wmode:"direct"}, setMicrophoneGain:(function (a8){this.properties.microphoneGain=parseInt(a8,10);this._.callFlash("setMicGain",[a8],{debug:"Microphone gain adjustment on publisher "+this.id+" failed. "});return this}), getMicrophoneGain:(function (){return this._.callFlash("getMicGain",null,{debug:"Microphone gain request on publisher "+this.id+" failed. ",otherwise:this.properties.microphoneGain})}), getEchoCancellationMode:(function (){return this._.callFlash("getEchoCancellationMode",null,{debug:"Getting echo cancellation mode for publisher "+this.id+" failed. ",otherwise:"unknown"})}), enableMicrophone:(function (){this.publishAudio(true);return this}), disableMicrophone:(function (){this.publishAudio(false);return this}), publishAudio:(function (a8){u("Publisher.publishAudio()");this.properties.publishAudio=!!a8;this._.callFlash("setStreamProperty",["publishAudio",!!a8]);return this}), publishVideo:(function (a8){u("Publisher.publishVideo()");this.properties.publishVideo=!!a8;this._.callFlash("setStreamProperty",["publishVideo",!!a8]);return this}), setCamera:(function (a8){this.properties.cameraName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setCamera",this.properties.cameraName);return this}), setMicrophone:(function (a8){this.properties.microphoneName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setMicrophone",this.properties.microphoneName);return this}), detectDevices:(function (){this._.callFlash("detectDevices");return this}), detectMicActivity:(function (a8){this._.callFlash("detectMicActivity",[a8!==false]);return this}), destroy:(function (){if(this._.DOMcomponent&amp;&amp;this._.DOMcomponent.parentNode){this._.callFlash("cleanupView");this._.DOMcomponent.parentNode.removeChild(this._.DOMcomponent);this._.DOMcomponent=null}else{u("The item doesn't exist to be detroyed")}return this}), session:{}}}, streams:{}, apiKey:12312882, capabilities:{forceUnpublish:0, signal:1, playback:0, publishH264:true, publish:1, forceDisconnect:0, subscribe:1, record:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", properties:{playerid:"-ImrwzpcI4fv_wj7EY08", displayname:"Zhaar"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"3c7efcb4b58c6ff9cd3b4a3e2aeb2b140c5fb6cb", creationTime:1360282852781, data:"68298", quality:null}, {connectionId:"8e52c1f32659da0967a7a7adc07fe884ed84fc12", creationTime:1360294754005, data:"69136", quality:null}, {connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", creationTime:1360295891702, data:"68866", quality:null}, {connectionId:"7dab478d35cb513109749314467f93e6bbed68a4", creationTime:1360295500176, data:"68229", quality:null}, {connectionId:"683e7af0e7ac645ade2d3d0d907b207542689fdb", creationTime:1360294875746, data:"31466", quality:null}, {connectionId:"7ef7b5adf9ed8842acd472f33d211e0b4085f851", creationTime:1360285544873, data:"68213", quality:null}], streams:[], archives:[], groups:[]}) [22:58:17,111] initiatlizing publisher [22:58:17,116] Subscribe to streams! [22:58:17,116] [] [22:58:17,116] [object Object] [22:58:21,992] Finished after going 1 levels deep. -- [22:58:42,535] Player -IhMozrboaAVo7bSMVyo is offline... [22:58:43,276] Recived connection destroyed event -- [22:59:10,462] Someone just connected. [22:59:10,462] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"connectionCreated", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", creationTime:1360295891702, data:"68866", quality:null}, subscribers:{}, publishers:{publisher_1:{id:"publisher_1", replacedDivId:"publisher_video", parentClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), _:{parent:{}, DOMcomponent:({}), load:(function (a8,a9){ap[a3.id]=a3;for(var a7 in a8){if(a8.hasOwnProperty(a7)){a3[a7]=a8[a7]}}aY.onLoad(function(){var ba=a3.replacedDivId,bb=a3.id;if(!ba){document.body.appendChild((function(){var bc=document.createElement("div");ba="component_replace_"+bb;bc.setAttribute("id",ba);return bc})())}else{if(typeof(ba)!=="string"&amp;&amp;"id" in ba){if(!ba.id){ba.id="tmpId"+Math.random()}ba=ba.id}}a3.replacedDivId=ba;if(!document.getElementById(ba)){errorMsg="UIComponent :: replaceElementId does not exist in DOM.";aG(errorMsg);throw new Error(errorMsg)}X(a3.src,a3.replacedDivId,a3.properties.width,a3.properties.height,A,false,a3.properties,a3.params,a3.attributes)})}), onload:(function (){u("Component loaded: "+this.id);this._.DOMcomponent=document.getElementById(this.id);for(var a7=0;a7&lt;a5.length;a7++){a5[a7].call(this._)}if(this.modified){this.setStyle(this._style);this.modified=false}this.dispatchEvent(new W("loaded"))}), callFlash:(function (bb,a8,a7){if(!a7||typeof(a7)!=="object"){a7={}}if(!a8){a8=[]}u("Pending: "+bb+"("+a8.join(",")+") on component "+this.parent.id);var a9=a7.debug||(bb+"("+a8.join(",")+") on component "+this.parent.id+" failed");var ba=function ba(){try{u("callFlash: "+bb+"("+a8.join(",")+") on component "+this.parent.id);return this.DOMcomponent[bb].apply(this.DOMcomponent,a8)}catch(bc){if(!a7||!a7.hasOwnProperty("silentError")||!a7.silentError){aG(a9);throw new Error(a9)}}return false};if(!a7.once){a5.push(ba)}if(this.DOMcomponent){return ba.call(this)}else{if(a7.otherwise){return(typeof(a7.otherwise)!=="function")?a7.otherwise:a7.otherwise()}}}), refresh:(function (){this.parent.properties.startTime=(new Date()).getTime();this.callFlash("cleanupView",null,{once:true});this.parent.replacedDivId=this.parent.id;this.load()}), publishToSession:(function (bb,a9,a8,ba){this.callFlash("publishToSession",[bb,a9,a8,ba]);return this.parent}), unpublishFromSession:(function (a8){if(this.DOMcomponent){this.callFlash("unpublishFromSession",[a8])}return this.parent}), signalRecording:(function (a8){return this.callFlash(a8?"signalRecordingStarted":"signalRecordingStopped")})}, getStyle:(function (a9){var a7=document.getElementById(this.id),bc;if(!this.loaded){if(a9){return this._style[a9]}else{return this._style}}else{if(a7){try{var ba=a7.getStyle(a9);if(typeof(ba)=="string"){return ba}for(var a8 in ba){if(ba[a8]=="false"){ba[a8]=false}if(ba[a8]=="true"){ba[a8]=true}if(a3.indexOf(a8)&lt;0){delete ba[a8]}}return ba}catch(bb){bc="Publisher.getStyle:: Failed to call getStyle. "+bb;aG(bc);throw new Error(bc)}}else{bc="Publisher.getStyle:: Publisher "+this.id+" does not exist.";aG(bc);throw new Error(bc)}}}), _style:{showMicButton:true, showSettingsButton:true, showCameraToggleButton:true, nameDisplayMode:"off", buttonDisplayMode:"auto", backgroundImageURI:null}, setStyle:(function (a9,bc){u("Publisher.setStyle: "+a9.toString());var a7=document.getElementById(this.id),bb;if(!this.loaded){if(arguments.length&gt;1){if(this._style.hasOwnProperty(a9)&amp;&amp;(a9=="backgroundImageURI"||(a5[a9].indexOf(bc)&gt;-1))){u("setStyle::Setting "+a9+" to "+bc);this._style[a9]=bc}else{a1("setStyle::Invalid style property passed "+a9+" : "+bc)}}else{for(var a8 in a9){this.setStyle(a8,a9[a8])}}this.modified=true}else{if(a7){try{a7.setStyle(a9,bc)}catch(ba){bb="Publisher.setStyle:: Failed to call setStyle. "+ba;aG(bb);throw new Error(bb)}}else{bb="Publisher.setStyle:: Publisher "+this.id+" does not exist.";aG(bb);throw new Error(bb)}}return this}), getImgData:(function (){return this._.callFlash("getImgData")}), loaded:true, panelId:null, properties:{microphoneGain:50, publishAudio:true, publishVideo:true, height:"150", width:"150", name:"-ImrwzpcI4fv_wj7EY08", reportMicLevels:true, style:"%7B%20%22nameDisplayMode%22%3A%22off%22%20%7D", sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", apiKey:12312882, simulateMobile:false, publisherId:"publisher_1", startTime:1360295897114}, modified:false, src:"<a href="http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882" rel="nofollow">http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882</a>", attributes:{id:"publisher_1", style:"outline:none;"}, params:{allowscriptaccess:"always", wmode:"direct"}, setMicrophoneGain:(function (a8){this.properties.microphoneGain=parseInt(a8,10);this._.callFlash("setMicGain",[a8],{debug:"Microphone gain adjustment on publisher "+this.id+" failed. "});return this}), getMicrophoneGain:(function (){return this._.callFlash("getMicGain",null,{debug:"Microphone gain request on publisher "+this.id+" failed. ",otherwise:this.properties.microphoneGain})}), getEchoCancellationMode:(function (){return this._.callFlash("getEchoCancellationMode",null,{debug:"Getting echo cancellation mode for publisher "+this.id+" failed. ",otherwise:"unknown"})}), enableMicrophone:(function (){this.publishAudio(true);return this}), disableMicrophone:(function (){this.publishAudio(false);return this}), publishAudio:(function (a8){u("Publisher.publishAudio()");this.properties.publishAudio=!!a8;this._.callFlash("setStreamProperty",["publishAudio",!!a8]);return this}), publishVideo:(function (a8){u("Publisher.publishVideo()");this.properties.publishVideo=!!a8;this._.callFlash("setStreamProperty",["publishVideo",!!a8]);return this}), setCamera:(function (a8){this.properties.cameraName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setCamera",this.properties.cameraName);return this}), setMicrophone:(function (a8){this.properties.microphoneName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setMicrophone",this.properties.microphoneName);return this}), detectDevices:(function (){this._.callFlash("detectDevices");return this}), detectMicActivity:(function (a8){this._.callFlash("detectMicActivity",[a8!==false]);return this}), destroy:(function (){if(this._.DOMcomponent&amp;&amp;this._.DOMcomponent.parentNode){this._.callFlash("cleanupView");this._.DOMcomponent.parentNode.removeChild(this._.DOMcomponent);this._.DOMcomponent=null}else{u("The item doesn't exist to be detroyed")}return this}), session:{}}}, streams:{}, apiKey:12312882, capabilities:{forceUnpublish:0, signal:1, playback:0, publishH264:true, publish:1, forceDisconnect:0, subscribe:1, record:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", properties:{playerid:"-ImrwzpcI4fv_wj7EY08", displayname:"Zhaar"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"8c86fd4930542f37f7f0827681fd1368e45fb542", creationTime:1360295945769, data:"69136", quality:null}], reason:""}) [22:59:10,462] Begin publishing!
[22:59:10,463] Already publishing, showing because number of connections is above 1. -- [22:59:23,697] Finished after going 1 levels deep. -- [23:11:30,922] Scan for new plays! [23:11:33,447] Finished after going 1 levels deep. [23:11:33,737] Scan for new plays! -- [23:12:36,038] Finished after going 1 levels deep. -- [23:16:01,557] Scan for new plays! [23:16:03,736] Finished after going 1 levels deep. -- [23:20:29,415] Scan for new plays! -- [23:22:13,733] Finished after going 1 levels deep. -- [23:38:46,001] Recived connection destroyed event -- [23:39:10,733] Character changed! -- [23:39:32,431] Someone just connected. [23:39:32,431] ({superClass:function W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"connectionCreated", cancelable:false, target:{superClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{sessionConnected:[(function (e){console.log("Connected to session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections&gt;1&amp;&amp;(c(),a())})], streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})], streamDestroyed:[(function (e){console.log("Stream destroyed");for(var t=0;t&lt;e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does "+n.streamId+" equal "+e.streams[t].streamId),n.streamId==e.streams[t].streamId&amp;&amp;(console.log(d20.videochat.availableStreams),console.log("YES REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})], connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections&gt;1&amp;&amp;(console.log("Begin publishing!"),c())})], connectionDestroyed:[(function (e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections&lt;2&amp;&amp;(console.log("Hiding video chat, only one connection active."),o())})], microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone .video[data-streamid="+e.streamId+"]"),t&amp;&amp;t.length&gt;0&amp;&amp;t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"% 100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connection:{connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", creationTime:1360295891702, data:"68866", quality:null}, subscribers:{}, publishers:{publisher_1:{id:"publisher_1", replacedDivId:"publisher_video", parentClass:function aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}}, _listeners:{}, addEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.addEventListener :: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener :: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}), removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener :: No listener function specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var a3=0;a3&lt;this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}), dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent :: No event specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3&lt;a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}), _:{parent:{}, DOMcomponent:({}), load:(function (a8,a9){ap[a3.id]=a3;for(var a7 in a8){if(a8.hasOwnProperty(a7)){a3[a7]=a8[a7]}}aY.onLoad(function(){var ba=a3.replacedDivId,bb=a3.id;if(!ba){document.body.appendChild((function(){var bc=document.createElement("div");ba="component_replace_"+bb;bc.setAttribute("id",ba);return bc})())}else{if(typeof(ba)!=="string"&amp;&amp;"id" in ba){if(!ba.id){ba.id="tmpId"+Math.random()}ba=ba.id}}a3.replacedDivId=ba;if(!document.getElementById(ba)){errorMsg="UIComponent :: replaceElementId does not exist in DOM.";aG(errorMsg);throw new Error(errorMsg)}X(a3.src,a3.replacedDivId,a3.properties.width,a3.properties.height,A,false,a3.properties,a3.params,a3.attributes)})}), onload:(function (){u("Component loaded: "+this.id);this._.DOMcomponent=document.getElementById(this.id);for(var a7=0;a7&lt;a5.length;a7++){a5[a7].call(this._)}if(this.modified){this.setStyle(this._style);this.modified=false}this.dispatchEvent(new W("loaded"))}), callFlash:(function (bb,a8,a7){if(!a7||typeof(a7)!=="object"){a7={}}if(!a8){a8=[]}u("Pending: "+bb+"("+a8.join(",")+") on component "+this.parent.id);var a9=a7.debug||(bb+"("+a8.join(",")+") on component "+this.parent.id+" failed");var ba=function ba(){try{u("callFlash: "+bb+"("+a8.join(",")+") on component "+this.parent.id);return this.DOMcomponent[bb].apply(this.DOMcomponent,a8)}catch(bc){if(!a7||!a7.hasOwnProperty("silentError")||!a7.silentError){aG(a9);throw new Error(a9)}}return false};if(!a7.once){a5.push(ba)}if(this.DOMcomponent){return ba.call(this)}else{if(a7.otherwise){return(typeof(a7.otherwise)!=="function")?a7.otherwise:a7.otherwise()}}}), refresh:(function (){this.parent.properties.startTime=(new Date()).getTime();this.callFlash("cleanupView",null,{once:true});this.parent.replacedDivId=this.parent.id;this.load()}), publishToSession:(function (bb,a9,a8,ba){this.callFlash("publishToSession",[bb,a9,a8,ba]);return this.parent}), unpublishFromSession:(function (a8){if(this.DOMcomponent){this.callFlash("unpublishFromSession",[a8])}return this.parent}), signalRecording:(function (a8){return this.callFlash(a8?"signalRecordingStarted":"signalRecordingStopped")})}, getStyle:(function (a9){var a7=document.getElementById(this.id),bc;if(!this.loaded){if(a9){return this._style[a9]}else{return this._style}}else{if(a7){try{var ba=a7.getStyle(a9);if(typeof(ba)=="string"){return ba}for(var a8 in ba){if(ba[a8]=="false"){ba[a8]=false}if(ba[a8]=="true"){ba[a8]=true}if(a3.indexOf(a8)&lt;0){delete ba[a8]}}return ba}catch(bb){bc="Publisher.getStyle:: Failed to call getStyle. "+bb;aG(bc);throw new Error(bc)}}else{bc="Publisher.getStyle:: Publisher "+this.id+" does not exist.";aG(bc);throw new Error(bc)}}}), _style:{showMicButton:true, showSettingsButton:true, showCameraToggleButton:true, nameDisplayMode:"off", buttonDisplayMode:"auto", backgroundImageURI:null}, setStyle:(function (a9,bc){u("Publisher.setStyle: "+a9.toString());var a7=document.getElementById(this.id),bb;if(!this.loaded){if(arguments.length&gt;1){if(this._style.hasOwnProperty(a9)&amp;&amp;(a9=="backgroundImageURI"||(a5[a9].indexOf(bc)&gt;-1))){u("setStyle::Setting "+a9+" to "+bc);this._style[a9]=bc}else{a1("setStyle::Invalid style property passed "+a9+" : "+bc)}}else{for(var a8 in a9){this.setStyle(a8,a9[a8])}}this.modified=true}else{if(a7){try{a7.setStyle(a9,bc)}catch(ba){bb="Publisher.setStyle:: Failed to call setStyle. "+ba;aG(bb);throw new Error(bb)}}else{bb="Publisher.setStyle:: Publisher "+this.id+" does not exist.";aG(bb);throw new Error(bb)}}return this}), getImgData:(function (){return this._.callFlash("getImgData")}), loaded:true, panelId:null, properties:{microphoneGain:50, publishAudio:true, publishVideo:true, height:"150", width:"150", name:"-ImrwzpcI4fv_wj7EY08", reportMicLevels:true, style:"%7B%20%22nameDisplayMode%22%3A%22off%22%20%7D", sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg", connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710", token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", apiKey:12312882, simulateMobile:false, publisherId:"publisher_1", startTime:1360295897114}, modified:false, src:"<a href="http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882" rel="nofollow">http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882</a>", attributes:{id:"publisher_1", style:"outline:none;"}, params:{allowscriptaccess:"always", wmode:"direct"}, setMicrophoneGain:(function (a8){this.properties.microphoneGain=parseInt(a8,10);this._.callFlash("setMicGain",[a8],{debug:"Microphone gain adjustment on publisher "+this.id+" failed. "});return this}), getMicrophoneGain:(function (){return this._.callFlash("getMicGain",null,{debug:"Microphone gain request on publisher "+this.id+" failed. ",otherwise:this.properties.microphoneGain})}), getEchoCancellationMode:(function (){return this._.callFlash("getEchoCancellationMode",null,{debug:"Getting echo cancellation mode for publisher "+this.id+" failed. ",otherwise:"unknown"})}), enableMicrophone:(function (){this.publishAudio(true);return this}), disableMicrophone:(function (){this.publishAudio(false);return this}), publishAudio:(function (a8){u("Publisher.publishAudio()");this.properties.publishAudio=!!a8;this._.callFlash("setStreamProperty",["publishAudio",!!a8]);return this}), publishVideo:(function (a8){u("Publisher.publishVideo()");this.properties.publishVideo=!!a8;this._.callFlash("setStreamProperty",["publishVideo",!!a8]);return this}), setCamera:(function (a8){this.properties.cameraName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setCamera",this.properties.cameraName);return this}), setMicrophone:(function (a8){this.properties.microphoneName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setMicrophone",this.properties.microphoneName);return this}), detectDevices:(function (){this._.callFlash("detectDevices");return this}), detectMicActivity:(function (a8){this._.callFlash("detectMicActivity",[a8!==false]);return this}), destroy:(function (){if(this._.DOMcomponent&amp;&amp;this._.DOMcomponent.parentNode){this._.callFlash("cleanupView");this._.DOMcomponent.parentNode.removeChild(this._.DOMcomponent);this._.DOMcomponent=null}else{u("The item doesn't exist to be detroyed")}return this}), session:{}}}, streams:{}, apiKey:12312882, capabilities:{forceUnpublish:0, signal:1, playback:0, publishH264:true, publish:1, forceDisconnect:0, subscribe:1, record:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience, please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect :: API key required to connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect :: Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect :: Session already connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect :: "devtoken" and "moderator_token" are being deprecated soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a> a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var be="replace_"+this.sessionId;aY.onLoad(function(){var bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}), disconnect:(function (){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect :: No connection to disconnect");return}var a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}), disconnectComponents:(function (){u("Session.disconnectComponents() - disconnecting publishers and subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent:: Failed to disconnect subscriber "+a9)}}}}), cleanup:(function (){u("Session.cleanup()");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup:: Failed to unpublish publisher "+bb)}}}for(var a9 in this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}), cleanupConnection:(function (){u("Session.cleanupConnection() - removing controller");this.connection=null;if(!a5){a1("Session.cleanup :: No connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected :: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean up")}}), publish:(function (bb,a9){u("Session.publish("+bb+"):"+a9);var ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish :: Connection required to publish";aG(ba);throw new Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb instanceof U){if("session" in bb&amp;&amp;bb.session&amp;&amp;"sessionId" in bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish "+bb.id+" again to "+this.sessionId+". Please call session.unpublish(publisher) first.")}else{a1("Cannot publish "+bb.id+" publisher already attached to "+bb.session.sessionId+". Please call session.unpublish(publisher) first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher";aG(ba);throw new Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}), unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish :: publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw new Error("Session.unpublish :: unknown publisher type, publisher must be created with TB.initPublisher()")}}if(a9.session&amp;&amp;a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The publisher "+a9.id+" is trying to unpublish from a session "+this.sessionId+" it is not attached to")}}}if(a9.panelId&amp;&amp;v&amp;&amp;v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}), forceUnpublish:(function (bd){var bc,bb;if(bd&amp;&amp;typeof(bd)=="string"){bc=bd}else{if(bd&amp;&amp;typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish :: Invalid stream type";aG(bb);throw new Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to forceUnpublish() failed. The specified stream is not publishing to the session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish :: Stream does not exist.";aG(bb);throw new Error(bb)}}), subscribe:(function (bj,bg,bf){var be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe :: Connection required to subscribe";aG(be);throw new Error(be)}if(!bj){be="Session.subscribe :: stream cannot be null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe :: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var bb=document.getElementById(bg);if(!bb){be="Session.subscribe :: replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length&gt;0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe :: subscriber cannot be null";aG(ba);throw new Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal :: Connection required to signal.";aG(bb);throw new Error(bb)}}), forceDisconnect:(function (ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var bd,bc;if(ba&amp;&amp;typeof(ba)=="string"){bd=ba}else{if(ba&amp;&amp;typeof(ba)=="object"&amp;&amp;ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect :: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect :: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}), getSubscribersForStream:(function (bd){var a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be null";aG(bb);throw new Error(bb)}else{var bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&amp;&amp;bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream :: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&amp;&amp;this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return a9}), getPublisherForStream:(function (bf){var bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be null";aG(bd);throw new Error(bd)}else{var be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&amp;&amp;bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream :: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in this.publishers){var bb=this.publishers[bc];if(bb){try{var a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher: "+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing unknown publisher from stream");delete this.publishers[bc]}}}return null}), createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive :: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}), loadArchive:(function (bc){u("Session.loadArchive()");var bb;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive :: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive :: Connection required to load an archive.";aG(bb);throw new Error(bb)}}), startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.startRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying to record per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var bc;if(!ba){bc="Session.stopRecording :: Archive not created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying to stop recording per session on a "+ba.type+" archive";aG(bc);throw new Error(bc)}if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording :: Connection required to record an archive.";aG(bc);throw new Error(bc)}}), closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){try{var a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive :: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive :: Connection required to close an archive.";aG(bc);throw new Error(bc)}}), getStateManager:(function (){u("Session.getStateManager()");if(a7){return a7}else{if(a5&amp;&amp;this.connection&amp;&amp;this.connection.connectionId){a7=new T(a5);return a7}}var a9="Session.getStateManager :: Connection required to getState. Wait for sessionConnected before you getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2", properties:{playerid:"-ImrwzpcI4fv_wj7EY08", displayname:"Zhaar"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function (){return a4}), connections:[{connectionId:"aac76c39de151e177e562bb3567c6d97778c8ea4", creationTime:1360298372341, data:"68229", quality:null}], reason:""}) [23:39:32,431] Begin publishing! [23:39:32,432] Already publishing, showing because number of connections is above 1. -- [23:39:45,742] Scan for new plays! -- [23:40:17,130] Finished after going 1 levels deep. -- [23:40:36,660] Scan for new plays! -- [23:41:49,897] Finished after going 1 levels deep. -- [23:41:56,884] Scan for new plays! -- [23:44:38,162] Finished after going 1 levels deep. -- [23:46:29,071] window resize -- [23:47:38,737] GET <a href="http://app.roll20.net/editor/ping/5" rel="nofollow">http://app.roll20.net/editor/ping/5</a> [HTTP/1.1 200 OK 179ms] [23:47:39,704] GET <a href="http://in.getclicky.com/in.php?site_id=66573780&amp;type=ping&amp;jsuid=3531691965&amp;hmset&amp;mime=js&amp;x=0.7118433786248012" rel="nofollow">http://in.getclicky.com/in.php?site_id=66573780&amp;type=ping&amp;jsuid=3531691965&amp;hmset&amp;mime=js&amp;x=0.7118433786248012</a> [HTTP/1.1 200 OK 173ms] -- [23:48:55,773] Finished after going 1 levels deep. -- [23:49:39,409] GET <a href="http://in.getclicky.com/in.php?site_id=66573780&amp;type=ping&amp;jsuid=3531691965&amp;hmset&amp;mime=js&amp;x=0.793021449781677" rel="nofollow">http://in.getclicky.com/in.php?site_id=66573780&amp;type=ping&amp;jsuid=3531691965&amp;hmset&amp;mime=js&amp;x=0.793021449781677</a> [HTTP/1.1 200 OK 175ms] -- [23:50:34,573] Finished after going 1 levels deep.
Alright I'd REALLY appreciate help. We now notice that it's all Zhaar, every time he logs on the campaign, and I do mean EVERY SINGLE TIME, it makes the map crash, makes every player disconnect (except for the GMs), and it even crashed the initiative. Also, he reports that he can't see any single map. Can we please, please get some help? Thank you!
1361507019
Gauss
Forum Champion
Zentsuki, I apologize for this. Things have been hectic for the Devs lately.&nbsp; While I know you have tried copying the campaign have you tried to copy it and exclude the players? Unfortunately that will result in the players having to rebuild macros.&nbsp; If it is specifically Zhaar you might want to kick him out of the campaign and then have him rejoin it from scratch.&nbsp; Maybe one of those ideas will work but in the meantime I will let the Devs know it is killing your game. - Gauss
Tried it, kind of found a workaround this, Zhaar downloaded Chrome and it seems to work now, so I understand completely they might be busy, and my problem is less of a priority now. I'd still like the 9999 Huberts to be removed. But mostly, thanks for replying, I just wanted to make sure my problem wasn't ignored or filed as resolved.
1361668890
Gauss
Forum Champion
I am glad you found a partial workaround. You arent being ignored and your issue has not been filed as resolved. A partial workaround is not a fix.&nbsp; Normally campaign issues are fixed within a day or two but when it is something that is like this it requires a lot more of the Devs time to figure out what is going on in the code. Unfortunately, the time has been scarce lately. However, I will keep reminding the Devs that your problem persists.&nbsp; Please, feel free to keep asking for updates. :) - Gauss
Zentsuki -- First off, was one of those console dumps that you gave us above for Hubert? Because I think we're waiting to see one of those before we can tell why he's creating so many copies of himself when he joins your campaign. In addition you've never really given us the specifics on what OS/browser Hubert is using, which would be very useful to know. Finally I noticed that Hubert has changed his display name a lot (sometime Hubt N., sometime his full last name...) -- has he been changing that in-game? In his My Account? Just curious if it might be related. Is this the campaign you're primarily using?&nbsp; <a href="http://app.roll20.net/campaigns/details/22251/exiled-aux-hommes-verts" rel="nofollow">http://app.roll20.net/campaigns/details/22251/exiled-aux-hommes-verts</a> &nbsp; There are a lot of copies of "Exiled" on your account so I want to make sure I'm looking at the correct one. I can delete all but one "Hubert" from your campaign, but I'd really like to know what's causing the issue if possible so I can make sure it doesn't happen again, since it will require a bit of time and I'd rather not need to go back in and do it twice :-) So get us that info on Hubert's setup if you can, and we'll proceed post-haste. Also -- what was Zhaar using before when things were crashing for you all?
Hey, Riley. Those two console dumps are actually only one, as far as I can know, and they belong to Zhaar, who has been causing the crashes. As far as I'm aware, he was using an outdated version of firefox, but even after we made him update, it kept doing that... Should be the last version of Firefox. As for Hubert, I kind of gave up. He doesn't seem to be creating duplicates of himself anymore, and for some reason even though he claims to be using the last version of Firefox, he cannot find the web console, even after I sent him screenshots of where to find it. He says that his menus are not the same. As for the name change for Hubert, I do believe he did it in-game, if I recall right, but I'll ask him on monday to make sure. <a href="http://app.roll20.net/campaigns/details/74027/exiled-rebellion" rel="nofollow">http://app.roll20.net/campaigns/details/74027/exiled-rebellion</a> This is the main campaign. Although now I'm starting to wondering something. You say there are a lot of copies of Exiled, but there's only 3, and they all have unique names. I also noticed that the system claims I have 17 active campaigns, which is not true. I should technically only have 3, all of the others were deleted. More problems, yay! Sorry I'm causing you guys so much trouble... So, yeah. I'll try to talk to Hubert on monday for his name changes, but would a web console still be useful even if he's not creating glitches anymore? Hope that answered your questions!
If he's no longer causing problems, then that's fine. I'll go in there and try and get all the duplicates deleted when I get a chance (hopefully tomorrow morning). I'm following this thread now so ping me if I forget :-) Also, the "17 Campaigns' thing and what we see on our backend both include deleted campaigns (since sometimes people delete them on accident)...so no worries there, not a problem.
I removed all but one Hubert from the campaign. Let me know if he starts creating duplicates again.
Thanks for the help, Riley. Will keep you updated if something wrong happens again. Hopefully I won't have to bother you again, haha.