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.

r0e.js 7.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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 FS_dec(fn) {
  7. return function() {
  8. dec_fns[fn.name] && dec_fns[fn.name].pre ? dec_fns[fn.name].pre({that:this, arguments}) : 1
  9. const ret = fn.apply(this, arguments);
  10. // console.log('FSD',fn.name,ret, [this,...arguments]);
  11. const ret2 = dec_fns[fn.name] && dec_fns[fn.name].post ? dec_fns[fn.name].post({that:this, arguments}) : 0
  12. if (ret2){
  13. return ret2.ret
  14. }
  15. // const result = fn.apply(this, arguments);
  16. // console.log('Finished');
  17. return ret;
  18. }
  19. }
  20. function save_orig(){
  21. console.trace("SAVE-ORIG")
  22. glob_orig = window.glob_orig || {
  23. Filmstrip:{},
  24. fs:{},
  25. rf_filmstrip:{},
  26. }
  27. glob_orig.Filmstrip = Object.assign({},glob_react.Filmstrip)
  28. glob_orig.fs = Object.assign({},glob_react.fs)
  29. glob_orig.rf_filmstrip = Object.assign({},glob_react.rf_filmstrip)
  30. save_orig = nop
  31. }
  32. if (window.glob_orig){
  33. save_orig = nop
  34. // save_orig()
  35. }
  36. if (!window.glob_orig && window.glob_react){
  37. // save_orig = nop
  38. save_orig()
  39. }
  40. if (window.glob_orig && window.glob_react){
  41. dec_fs()
  42. // save_orig = nop
  43. // save_orig()
  44. }
  45. // if ((!window.glob_orig) && ){
  46. // }
  47. // glob_react.rf_filmstrip.calculateThumbnailSizeForTileView
  48. // calculateThumbnailSizeForTileView
  49. dec_fns = {
  50. resizeThumbnailsForTileView:{
  51. pre:function(){
  52. // console.trace("resizeThumbnailsForTileView")
  53. },
  54. post:function(){
  55. },
  56. }
  57. }
  58. function rt(w,h = 0,force = true){
  59. h ? 0 : h = w / (16/9)
  60. glob_react.Filmstrip.resizeThumbnailsForTileView(w,h,force)
  61. }
  62. function dec_fs2(){
  63. var k,v
  64. glob_react.rf_filmstrip.calculateThumbnailSizeForTileView = FS_dec(glob_react.rf_filmstrip.calculateThumbnailSizeForTileView)
  65. // for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  66. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  67. // clog("~",k,v.name)
  68. // glob_react.Filmstrip[k] = FS_dec(v)
  69. // }
  70. }
  71. function dec_fs(){
  72. var k,v
  73. for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  74. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  75. clog("~",k,v.name)
  76. glob_react.Filmstrip[k] = FS_dec(v)
  77. }
  78. }
  79. fs_dec_list = ["resizeThumbnailsForHorizontalView",
  80. "resizeThumbnailsForVerticalView",
  81. "resizeThumbnailsForTileView",]
  82. function dec_fs_resize(){
  83. var k,v
  84. save_orig()
  85. for (k of fs_dec_list){
  86. clog("~",k)
  87. }
  88. // return
  89. for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  90. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  91. clog("~",k,v.name,v)
  92. // glob_react.Filmstrip[k] = FS_dec(v)
  93. }
  94. }
  95. modkeys = ["calculateThumbnailSizeForTileView",
  96. "TILE_VIEW_SIDE_MARGINS",
  97. "SET_TILE_VIEW_DIMENSIONS",]
  98. // glob_react.rf_filmstrip
  99. function check_mod_keys(){
  100. var k
  101. for (k of modkeys){
  102. clog(k,glob_react.rf_filmstrip[k])
  103. }
  104. }
  105. function wt(a1,a2){
  106. var c = 0
  107. var cmx = 10
  108. clog(a1 < a2,a1 > a2)
  109. while (a1 < a2){
  110. c += 1
  111. clog(".",c)
  112. if (cmx < c){clog("r",c);return}
  113. }
  114. }
  115. function FS_dec2(fn) {
  116. return function() {
  117. // dec_fns[fn.name] && dec_fns[fn.name].pre ? dec_fns[fn.name].pre({that:this, arguments}) : 1
  118. const ret = fn.apply(this, arguments);
  119. clog("SVD",{ret,that:this,args:[...arguments]})
  120. // console.log('FSD',fn.name,ret, [this,...arguments]);
  121. // const ret2 = dec_fns[fn.name] && dec_fns[fn.name].post ? dec_fns[fn.name].post({that:this, arguments}) : 0
  122. // if (ret2){
  123. // return ret2.ret
  124. // }
  125. // const result = fn.apply(this, arguments);
  126. // console.log('Finished');
  127. return ret;
  128. }
  129. }
  130. // svop = jc(SmallVideoOrig.prototype)
  131. // svop = jc(SmallVideoOrig)
  132. // svop = Object.assign({},glob_react.Filmstrip)
  133. // svop = Object.assign({},SmallVideoOrig.prototype)
  134. // function save_orig()
  135. orig_classes = window.orig_classes || {}
  136. react_trc_log = window.react_trc_log || {}
  137. react_trc_log = window.react_trc_log || {}
  138. window.react_trc_log.SmallVideoTrc0= ["$avatar",
  139. "_setThumbnailSize",
  140. "bindHoverHandler",
  141. "initBrowserSpecificProperties",
  142. "_renderDisplayName",
  143. "$avatar",
  144. "initializeAvatar",
  145. "_getAudioLevelContainer",
  146. "_getAudioLevelContainer",
  147. "updateAudioLevelIndicator",
  148. "addAudioLevelIndicator",
  149. "updateIndicators",
  150. "isCurrentlyOnLargeVideo",
  151. "_isHovered",]
  152. react_trc_log.SmallVideoTrc = ["_renderDisplayName",
  153. "_setThumbnailSize",
  154. "showDominantSpeakerIndicator",
  155. "setVideoMutedView",
  156. "initBrowserSpecificProperties",
  157. "bindHoverHandler",
  158. "addAudioLevelIndicator",]
  159. glob_dev_fns.getTileViewGridDimensions_set_num = function(state,maxColumns,onumberOfParticipants){
  160. // return
  161. // clog("SET NUM PRT")
  162. var numberOfParticipants
  163. // if (window.glob_dev_fns && window.glob_dev_fns.ret0){return onumberOfParticipants}
  164. try {
  165. var thumbs = glob_react.Filmstrip._getThumbs()
  166. // numberOfParticipants = thumbs.remoteThumbs.length + thumbs.localThumb thumbs.localThumb.length
  167. numberOfParticipants = thumbs.remoteThumbs.length
  168. if (thumbs.localThumb){
  169. numberOfParticipants += thumbs.localThumb.length
  170. }
  171. } catch(e) {
  172. clog("getTileViewGridDimensions_set_num err:",e)
  173. return onumberOfParticipants
  174. }
  175. // clog("getTileViewGridDimensions_set_num ret:",numberOfParticipants,thumbs,onumberOfParticipants)
  176. numberOfParticipants < onumberOfParticipants ? numberOfParticipants = onumberOfParticipants : 1
  177. // clog("getTileViewGridDimensions_set_num ret2:",numberOfParticipants,thumbs,onumberOfParticipants)
  178. // clog("NUM",numberOfParticipants)
  179. return numberOfParticipants
  180. }
  181. window.glob_dbg = window.glob_dbg || {
  182. log:{},
  183. logs:{},
  184. }
  185. function log_tb(err,key){
  186. var key
  187. try{
  188. key in window.glob_dbg.logs ? 1 : window.glob_dbg.logs[key]=[]
  189. // key in window.glob_dbg.log ? 1 : window.glob_dbg.log[key]=[]
  190. window.glob_dbg.logs[key].push(err.stack)
  191. // window.glob_dbg.log[key].push(err)
  192. // clog("LOG_TB",key,err)
  193. } catch (e){
  194. clog("LOG TB",key,"ERR:",e)
  195. }
  196. // return new Error()
  197. }
  198. function clone_class() {
  199. var k,v,p
  200. if (orig_classes.SmallVideoOrig){
  201. return
  202. }
  203. orig_classes.SmallVideoOrig = {}
  204. for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) {
  205. v=p.value
  206. orig_classes.SmallVideoOrig[k]=v
  207. }
  208. }
  209. clog("R0...",window.SmallVideoOrig)
  210. function loop_proto(){
  211. var k,v,p
  212. for ([k,p] of Object.entries(Object.getOwnPropertyDescriptors(SmallVideoOrig.prototype))) {
  213. // clog("~",k,v)
  214. v=p.value
  215. clog("~",k,typeof(v))
  216. if (typeof(v) == "function"){
  217. SmallVideoOrig.prototype[k] = FS_dec2(v)
  218. }
  219. }
  220. }
  221. function loop_vids(vids = $(".small_vid")){
  222. clog("vids",vids)
  223. var k,v
  224. // for (k in [...vids]){
  225. for (k of vids){
  226. clog("..",k)
  227. }
  228. }
  229. function log_info0(key){
  230. var ret = new Map()
  231. var k,v
  232. var arr
  233. for (v of glob_dbg.log[key]){
  234. ret.setD(v.stack,0)
  235. ret.set(v.stack,ret.get(v.stack) + 1)
  236. arr = v.stack.split("\n")
  237. clog(arr[2])
  238. // v.
  239. // clog(k,v)
  240. }
  241. return ret
  242. }
  243. function log_info(key,line_num=2,num_lines=1){
  244. var ret = new Map()
  245. var ret1 = new Map()
  246. var line
  247. var k,v
  248. var arr
  249. for (v of glob_dbg.logs[key]){
  250. ret.setD(v,0)
  251. ret.set(v,ret.get(v) + 1)
  252. arr = v.split("\n")
  253. // clog(arr[3])
  254. // clog(arr[2])
  255. // line = arr[line_num]
  256. line = arr.slice(line_num,line_num+num_lines).join("\n")
  257. // if ("an")
  258. if (line.includes("anony")){
  259. } else {
  260. // continue
  261. }
  262. // clog(line)
  263. ret1.setD(line,0)
  264. ret1.set(line,ret1.get(line) + 1)
  265. // v.
  266. // clog(k,v)
  267. }
  268. return ret1
  269. }
  270. function map_loop(m){
  271. var k,v
  272. for ([k,v] of m){
  273. clog(k,v)
  274. }
  275. }