// clog = console.log // function nop(){} glob_dev_hooks = window.glob_dev_hooks || {} glob_dev_fns = window.glob_dev_fns || {} window.glob_react = window.glob_react || {i:"r0"} function wt(a1,a2){ var c = 0 var cmx = 10 clog(a1 < a2,a1 > a2) while (a1 < a2){ c += 1 clog(".",c) if (cmx < c){clog("r",c);return} } } function FS_dec2(fn) { return function() { // dec_fns[fn.name] && dec_fns[fn.name].pre ? dec_fns[fn.name].pre({that:this, arguments}) : 1 const ret = fn.apply(this, arguments); clog("SVD",{ret,that:this,args:[...arguments]}) // console.log('FSD',fn.name,ret, [this,...arguments]); // const ret2 = dec_fns[fn.name] && dec_fns[fn.name].post ? dec_fns[fn.name].post({that:this, arguments}) : 0 // if (ret2){ // return ret2.ret // } // const result = fn.apply(this, arguments); // console.log('Finished'); return ret; } } // svop = jc(SmallVideoOrig.prototype) // svop = jc(SmallVideoOrig) // svop = Object.assign({},glob_react.Filmstrip) // svop = Object.assign({},SmallVideoOrig.prototype) // function save_orig() orig_classes = window.orig_classes || {} react_trc_log = window.react_trc_log || {} react_trc_log = window.react_trc_log || {} window.react_trc_log.SmallVideoTrc0= ["$avatar", "_setThumbnailSize", "bindHoverHandler", "initBrowserSpecificProperties", "_renderDisplayName", "$avatar", "initializeAvatar", "_getAudioLevelContainer", "_getAudioLevelContainer", "updateAudioLevelIndicator", "addAudioLevelIndicator", "updateIndicators", "isCurrentlyOnLargeVideo", "_isHovered",] react_trc_log.SmallVideoTrc = ["_renderDisplayName", "_setThumbnailSize", "showDominantSpeakerIndicator", "setVideoMutedView", "initBrowserSpecificProperties", "bindHoverHandler", "addAudioLevelIndicator",] glob_dev_fns.getTileViewGridDimensions_set_num = function(state,maxColumns,onumberOfParticipants){ // return // clog("SET NUM PRT") var numberOfParticipants // if (window.glob_dev_fns && window.glob_dev_fns.ret0){return onumberOfParticipants} try { var thumbs = glob_react.Filmstrip._getThumbs() // numberOfParticipants = thumbs.remoteThumbs.length + thumbs.localThumb thumbs.localThumb.length numberOfParticipants = thumbs.remoteThumbs.length if (thumbs.localThumb){ numberOfParticipants += thumbs.localThumb.length } } catch(e) { clog("getTileViewGridDimensions_set_num err:",e) return onumberOfParticipants } // clog("getTileViewGridDimensions_set_num ret:",numberOfParticipants,thumbs,onumberOfParticipants) // numberOfParticipants < onumberOfParticipants ? numberOfParticipants = onumberOfParticipants : 1 // clog("getTileViewGridDimensions_set_num ret2:",numberOfParticipants,thumbs,onumberOfParticipants) // clog("NUM",numberOfParticipants) return numberOfParticipants } window.glob_dbg = window.glob_dbg || { log:{}, logs:{}, } function log_tb(err,key){ var key try{ key in window.glob_dbg.logs ? 1 : window.glob_dbg.logs[key]=[] // key in window.glob_dbg.log ? 1 : window.glob_dbg.log[key]=[] window.glob_dbg.logs[key].push(err.stack) // window.glob_dbg.log[key].push(err) // clog("LOG_TB",key,err) } catch (e){ clog("LOG TB",key,"ERR:",e) } // return new Error() } function clone_class() { var k,v,p if (orig_classes.SmallVideoOrig){ return } orig_classes.SmallVideoOrig = {} for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) { v=p.value orig_classes.SmallVideoOrig[k]=v } } clog("R0...",window.SmallVideoOrig) function loop_proto(){ var k,v,p for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) { // clog("~",k,v) v=p.value clog("~",k,typeof(v)) if (typeof(v) == "function"){ SmallVideoOrig.prototype[k] = FS_dec2(v) } } } function loop_vids(vids = $(".small_vid")){ clog("vids",vids) var k,v // for (k in [...vids]){ for (k of vids){ clog("..",k) } } function log_info0(key){ var ret = new Map() var k,v var arr for (v of glob_dbg.log[key]){ ret.setD(v.stack,0) ret.set(v.stack,ret.get(v.stack) + 1) arr = v.stack.split("\n") clog(arr[2]) // v. // clog(k,v) } return ret } function log_info(key,line_num=2,num_lines=1){ var ret = new Map() var ret1 = new Map() var line var k,v var arr for (v of glob_dbg.logs[key]){ ret.setD(v,0) ret.set(v,ret.get(v) + 1) arr = v.split("\n") // clog(arr[3]) // clog(arr[2]) // line = arr[line_num] line = arr.slice(line_num,line_num+num_lines).join("\n") // if ("an") if (line.includes("anony")){ } else { // continue } // clog(line) ret1.setD(line,0) ret1.set(line,ret1.get(line) + 1) // v. // clog(k,v) } return ret1 } function map_loop(m){ var k,v for ([k,v] of m){ clog(k,v) } } // XMPPAttachInfo.data = {atr:"modme"}