You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. // clog = console.log
  2. // function nop(){}
  3. glob_dev_hooks = window.glob_dev_hooks || {}
  4. glob_dev_fns = window.glob_dev_fns || {}
  5. window.glob_react = window.glob_react || {i:"r0"}
  6. function wt(a1,a2){
  7. var c = 0
  8. var cmx = 10
  9. clog(a1 < a2,a1 > a2)
  10. while (a1 < a2){
  11. c += 1
  12. clog(".",c)
  13. if (cmx < c){clog("r",c);return}
  14. }
  15. }
  16. function FS_dec2(fn) {
  17. return function() {
  18. // dec_fns[fn.name] && dec_fns[fn.name].pre ? dec_fns[fn.name].pre({that:this, arguments}) : 1
  19. const ret = fn.apply(this, arguments);
  20. clog("SVD",{ret,that:this,args:[...arguments]})
  21. // console.log('FSD',fn.name,ret, [this,...arguments]);
  22. // const ret2 = dec_fns[fn.name] && dec_fns[fn.name].post ? dec_fns[fn.name].post({that:this, arguments}) : 0
  23. // if (ret2){
  24. // return ret2.ret
  25. // }
  26. // const result = fn.apply(this, arguments);
  27. // console.log('Finished');
  28. return ret;
  29. }
  30. }
  31. // svop = jc(SmallVideoOrig.prototype)
  32. // svop = jc(SmallVideoOrig)
  33. // svop = Object.assign({},glob_react.Filmstrip)
  34. // svop = Object.assign({},SmallVideoOrig.prototype)
  35. // function save_orig()
  36. orig_classes = window.orig_classes || {}
  37. react_trc_log = window.react_trc_log || {}
  38. react_trc_log = window.react_trc_log || {}
  39. window.react_trc_log.SmallVideoTrc0= ["$avatar",
  40. "_setThumbnailSize",
  41. "bindHoverHandler",
  42. "initBrowserSpecificProperties",
  43. "_renderDisplayName",
  44. "$avatar",
  45. "initializeAvatar",
  46. "_getAudioLevelContainer",
  47. "_getAudioLevelContainer",
  48. "updateAudioLevelIndicator",
  49. "addAudioLevelIndicator",
  50. "updateIndicators",
  51. "isCurrentlyOnLargeVideo",
  52. "_isHovered",]
  53. react_trc_log.SmallVideoTrc = ["_renderDisplayName",
  54. "_setThumbnailSize",
  55. "showDominantSpeakerIndicator",
  56. "setVideoMutedView",
  57. "initBrowserSpecificProperties",
  58. "bindHoverHandler",
  59. "addAudioLevelIndicator",]
  60. glob_dev_fns.getTileViewGridDimensions_set_num = function(state,maxColumns,onumberOfParticipants){
  61. // return
  62. // clog("SET NUM PRT")
  63. var numberOfParticipants
  64. // if (window.glob_dev_fns && window.glob_dev_fns.ret0){return onumberOfParticipants}
  65. try {
  66. var thumbs = glob_react.Filmstrip._getThumbs()
  67. // numberOfParticipants = thumbs.remoteThumbs.length + thumbs.localThumb thumbs.localThumb.length
  68. numberOfParticipants = thumbs.remoteThumbs.length
  69. if (thumbs.localThumb){
  70. numberOfParticipants += thumbs.localThumb.length
  71. }
  72. } catch(e) {
  73. clog("getTileViewGridDimensions_set_num err:",e)
  74. return onumberOfParticipants
  75. }
  76. // clog("getTileViewGridDimensions_set_num ret:",numberOfParticipants,thumbs,onumberOfParticipants)
  77. // numberOfParticipants < onumberOfParticipants ? numberOfParticipants = onumberOfParticipants : 1
  78. // clog("getTileViewGridDimensions_set_num ret2:",numberOfParticipants,thumbs,onumberOfParticipants)
  79. // clog("NUM",numberOfParticipants)
  80. return numberOfParticipants
  81. }
  82. window.glob_dbg = window.glob_dbg || {
  83. log:{},
  84. logs:{},
  85. }
  86. function log_tb(err,key){
  87. var key
  88. try{
  89. key in window.glob_dbg.logs ? 1 : window.glob_dbg.logs[key]=[]
  90. // key in window.glob_dbg.log ? 1 : window.glob_dbg.log[key]=[]
  91. window.glob_dbg.logs[key].push(err.stack)
  92. // window.glob_dbg.log[key].push(err)
  93. // clog("LOG_TB",key,err)
  94. } catch (e){
  95. clog("LOG TB",key,"ERR:",e)
  96. }
  97. // return new Error()
  98. }
  99. function clone_class() {
  100. var k,v,p
  101. if (orig_classes.SmallVideoOrig){
  102. return
  103. }
  104. orig_classes.SmallVideoOrig = {}
  105. for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) {
  106. v=p.value
  107. orig_classes.SmallVideoOrig[k]=v
  108. }
  109. }
  110. clog("R0...",window.SmallVideoOrig)
  111. function loop_proto(){
  112. var k,v,p
  113. for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) {
  114. // clog("~",k,v)
  115. v=p.value
  116. clog("~",k,typeof(v))
  117. if (typeof(v) == "function"){
  118. SmallVideoOrig.prototype[k] = FS_dec2(v)
  119. }
  120. }
  121. }
  122. function loop_vids(vids = $(".small_vid")){
  123. clog("vids",vids)
  124. var k,v
  125. // for (k in [...vids]){
  126. for (k of vids){
  127. clog("..",k)
  128. }
  129. }
  130. function log_info0(key){
  131. var ret = new Map()
  132. var k,v
  133. var arr
  134. for (v of glob_dbg.log[key]){
  135. ret.setD(v.stack,0)
  136. ret.set(v.stack,ret.get(v.stack) + 1)
  137. arr = v.stack.split("\n")
  138. clog(arr[2])
  139. // v.
  140. // clog(k,v)
  141. }
  142. return ret
  143. }
  144. function log_info(key,line_num=2,num_lines=1){
  145. var ret = new Map()
  146. var ret1 = new Map()
  147. var line
  148. var k,v
  149. var arr
  150. for (v of glob_dbg.logs[key]){
  151. ret.setD(v,0)
  152. ret.set(v,ret.get(v) + 1)
  153. arr = v.split("\n")
  154. // clog(arr[3])
  155. // clog(arr[2])
  156. // line = arr[line_num]
  157. line = arr.slice(line_num,line_num+num_lines).join("\n")
  158. // if ("an")
  159. if (line.includes("anony")){
  160. } else {
  161. // continue
  162. }
  163. // clog(line)
  164. ret1.setD(line,0)
  165. ret1.set(line,ret1.get(line) + 1)
  166. // v.
  167. // clog(k,v)
  168. }
  169. return ret1
  170. }
  171. function map_loop(m){
  172. var k,v
  173. for ([k,v] of m){
  174. clog(k,v)
  175. }
  176. }
  177. // XMPPAttachInfo.data = {atr:"modme"}