jfinn 4 lat temu
rodzic
commit
3778822983
29 zmienionych plików z 1721 dodań i 124 usunięć
  1. 112
    2
      rf/class_dec.js
  2. 390
    0
      rf/conn/cui5.js
  3. 163
    0
      rf/conn/tconn.js
  4. 4
    0
      rf/fake_resize.js
  5. 1
    0
      rf/filmstrip_mod/m.js
  6. 7
    5
      rf/filmstrip_mod/m0.js
  7. 2
    2
      rf/fs.css
  8. 3
    0
      rf/i4n/m.css
  9. 1
    1
      rf/m/m_api_v2.js
  10. 34
    34
      rf/m/m_utils.js
  11. 2
    1
      rf/m/moveto.js
  12. 6
    29
      rf/m2/m2.js
  13. 2
    2
      rf/resize_hook.js
  14. 30
    3
      rf/svm.js
  15. 308
    0
      rf/ts/dev_raf.js
  16. 35
    0
      rf/ts/ts.css
  17. 8
    0
      rf/ts/ts.html
  18. 15
    0
      rf/ts/ts.js
  19. 9
    0
      rf/ts/ts.json
  20. 9
    0
      rf/ts/ts.txt
  21. 9
    0
      rf/ts/ts2.html
  22. 52
    0
      rf/ts/ts_dev.js
  23. 178
    0
      rf/ts/ts_req.js
  24. 1
    0
      rf/ts/tse.js
  25. 2
    2
      rf/u/universals.js
  26. 0
    27
      rf/ui_msg/r1.js
  27. 1
    7
      rf/ui_msg/r2.js
  28. 81
    1
      rf/ytsv/y.css
  29. 256
    8
      rf/ytsv/y.js

+ 112
- 2
rf/class_dec.js Wyświetl plik

80
   }
80
   }
81
 }
81
 }
82
 
82
 
83
+function _method_dec_v2_1(fn,fn_name,cname){
84
+  return function() {
85
+
86
+    window.sv_trc ? sv_trc({fn_name,cname,that:this,args:[...arguments]}) : 0
87
+    // const ret1 = dec_fns[fn_name] && dec_fns[fn_name].pre ? dec_fns[fn_name].pre({that:this, args:arguments}) : 0
88
+    // const ret1 = dec_fns[fn_name] && dec_fns[fn_name].pre ? dec_fns[fn_name].pre.call(this,[{that:this, args:arguments}]) : 0
89
+    const ret1 = dec_fns[fn_name] && dec_fns[fn_name].pre ? dec_fns[fn_name].pre.apply(this,[{that:this, args:arguments}]) : 0
90
+
91
+    if (ret1){
92
+      return ret1.ret
93
+    }
94
+    const ret = fn.apply(this, arguments);
95
+    const ret2 = dec_fns[fn_name] && dec_fns[fn_name].post ? dec_fns[fn_name].post({that:this, arguments}) : 0
96
+        // clog("MDEX",{ret1,ret2})
97
+    if (ret2){
98
+      return ret2.ret
99
+    }
100
+    return ret;
101
+  }
102
+}
103
+
104
+function _method_dec_v2_2(fn,fn_name){
105
+  return function() {
106
+
107
+    const ret1 = dec_fns[fn_name] && dec_fns[fn_name].pre ? dec_fns[fn_name].pre({that:this, args:arguments}) : 0
108
+
109
+    if (ret1){
110
+      return ret1.ret
111
+    }
112
+    const ret = fn.apply(this, arguments);
113
+    const ret2 = dec_fns[fn_name] && dec_fns[fn_name].post ? dec_fns[fn_name].post({that:this, arguments}) : 0
114
+        // clog("MDEX",{ret1,ret2})
115
+    if (ret2){
116
+      return ret2.ret
117
+    }
118
+    return ret;
119
+  }
120
+}
121
+
122
+
123
+
124
+
125
+
126
+
83
 
127
 
84
 function dec_class_v2(cls,cls_orig,cname){
128
 function dec_class_v2(cls,cls_orig,cname){
129
+  clog("trc dec_class_v2",cname,{cls,cls_orig,cname})
85
   var k,v
130
   var k,v
86
   var proto = cls_orig
131
   var proto = cls_orig
87
   // var proto = glob_react.vidClass.LocalVideo.prototype
132
   // var proto = glob_react.vidClass.LocalVideo.prototype
93
     // clog(k,v)
138
     // clog(k,v)
94
   } 
139
   } 
95
 }
140
 }
141
+function dec_class_v2_1(cls,cls_orig,cname){
142
+  clog("trc dec_class_v2",cname,{cls,cls_orig,cname})
143
+  var k,v
144
+  var proto = cls_orig
145
+  // var proto = glob_react.vidClass.LocalVideo.prototype
146
+  // for ([k,v] of iter_desc(proto)){
147
+  for ([k,v] of Object.entries(proto)){
148
+    // glob_react.Filmstrip[k] = v
149
+    // clog(k,v)
150
+    cls.prototype[k] = _method_dec_v2_1(v.value,k,cname)
151
+    // clog(k,v)
152
+  } 
153
+}
96
 
154
 
97
 
155
 
98
 
156
 
137
 if (runonce){
195
 if (runonce){
138
 
196
 
139
     window[GLOB_ORIG].classes["SharedVideoManager"] = cdec.get_class_methods(glob_react.SharedVideoManager)
197
     window[GLOB_ORIG].classes["SharedVideoManager"] = cdec.get_class_methods(glob_react.SharedVideoManager)
198
+    window[GLOB_ORIG].classes["SharedVideoContainer"] = cdec.get_class_methods(glob_react.SharedVideoContainer)
199
+    // 
140
 }
200
 }
141
 
201
 
142
 }
202
 }
148
 
208
 
149
 }
209
 }
150
 function dec_svm(){
210
 function dec_svm(){
151
-    cdec.dec_class(glob_react.SharedVideoManager,cdec.glob_orig.classes.SharedVideoManager)
211
+    cdec.dec_class(glob_react.SharedVideoManager,cdec.glob_orig.classes.SharedVideoManager,"SharedVideoManager")
212
+    cdec.dec_class(glob_react.SharedVideoContainer,cdec.glob_orig.classes.SharedVideoContainer,"SharedVideoContainer")
152
 
213
 
153
 }
214
 }
154
 // function dec_svm(){}
215
 // function dec_svm(){}
173
     }
234
     }
174
 
235
 
175
 dec_fns_v2 = {
236
 dec_fns_v2 = {
237
+  fireSharedVideoEvent:{
238
+
239
+      pre(o) {
240
+        // return
241
+        const sendPauseEvent = o.args[0]
242
+        const UIEvents = glob_react.UIEvents
243
+        clog("fireSharedVideoEventx",this,o,o.args[0],[...arguments])
244
+        // return {}
245
+        // return 
246
+        // ignore update checks if we are not the owner of the video
247
+        // or there is still no player defined or we are stopped
248
+        // (in a process of stopping)
249
+        if (!APP.conference.isLocalId(this.from) || !this.player
250
+            || !this.isSharedVideoShown) {
251
+            // return;
252
+            return {};
253
+        }
254
+
255
+        const state = this.player.getPlayerState();
256
+
257
+        // if its paused and haven't been pause - send paused
258
+
259
+        if (state === YT.PlayerState.PAUSED && sendPauseEvent) {
260
+            this.emitter.emit(UIEvents.UPDATE_SHARED_VIDEO,
261
+                this.url, 'pause', this.player.getCurrentTime());
262
+        } else if (state === YT.PlayerState.PLAYING) {
263
+            // if its playing and it was paused - send update with time
264
+            // if its playing and was playing just send update with time
265
+            this.emitter.emit(UIEvents.UPDATE_SHARED_VIDEO,
266
+                this.url, 'playing',
267
+                this.player.getCurrentTime(),
268
+                this.player.isMuted(),
269
+                this.player.getVolume(),);
270
+                // this.player.getVolume(),"xtra_var");
271
+        }
272
+            return {};
273
+    }
274
+  },
176
     onSharedVideoUpdate:{
275
     onSharedVideoUpdate:{
177
         pre(o){
276
         pre(o){
178
             try {
277
             try {
179
                 if (!o.that.player){
278
                 if (!o.that.player){
180
                     window.autoplay_probably_disabled ? autoplay_probably_disabled(o) : clog("NO fix implemented")
279
                     window.autoplay_probably_disabled ? autoplay_probably_disabled(o) : clog("NO fix implemented")
280
+                    // window.autoplay_probably_disabled ? autoplay_probably_disabled(o) : clog("NO fix implemented2")
181
                     clog("...autoplay_probably_disabled...")
281
                     clog("...autoplay_probably_disabled...")
282
+                } else {
283
+                  // clog("yt_dbg AUTO")
182
                 }
284
                 }
183
 /*
285
 /*
184
             clog("onSharedVideoUpdate pre arg",[...o.args])
286
             clog("onSharedVideoUpdate pre arg",[...o.args])
213
     }
315
     }
214
 }
316
 }
215
 
317
 
318
+
319
+
320
+
321
+
322
+// clog("TRC_ <!--#echo var='request_filename' -->",'<!--#echo var="uri" -->')
323
+clog("TRC_2 ",'<!--#echo var="request_filename" -->'.split("/").pop())
324
+
216
 cdec = {
325
 cdec = {
217
     get_class_methods:save_orig_class,
326
     get_class_methods:save_orig_class,
218
     undec_class:undec_class_v2,
327
     undec_class:undec_class_v2,
219
-    dec_class:dec_class_v2,
328
+    // dec_class:dec_class_v2,
329
+    dec_class:dec_class_v2_1,
220
     glob_orig:window[GLOB_ORIG],
330
     glob_orig:window[GLOB_ORIG],
221
 }
331
 }
222
 dec_fns = window.dec_fns || {}
332
 dec_fns = window.dec_fns || {}

+ 390
- 0
rf/conn/cui5.js Wyświetl plik

1
+
2
+
3
+
4
+
5
+twsfn5 = window.twsfn5 || {}
6
+
7
+vc2 = {
8
+    key:"key",
9
+}
10
+
11
+
12
+
13
+
14
+
15
+
16
+if (!window.gws){
17
+    window.gws = {
18
+        sockets:{},
19
+    }
20
+}
21
+gws.twsfn5 = twsfn5
22
+
23
+// gws
24
+
25
+
26
+
27
+
28
+// Object.keys(twsfn5_bak)
29
+// Object.keys(twsfn5)
30
+
31
+// Object.keys(twsfn5_bak) +"" == Object.keys(twsfn5)+""
32
+
33
+
34
+
35
+
36
+function connect_helper5(){
37
+        var o = {  
38
+            // ':8943/ws/vts/'
39
+            // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
40
+            url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
41
+            wsfn:twsfn5,
42
+            name:"ws_n15",
43
+        }
44
+        clog("o",o)
45
+        connect_ws_arg(o)
46
+}
47
+
48
+
49
+
50
+
51
+
52
+// connect_ws_arg()
53
+
54
+
55
+        // 'wss://' + window.location.host +
56
+        // '/ws/vts/' + window.roomName + '/?qqAAAAAAAAAAAAAAAAA'
57
+
58
+
59
+
60
+
61
+    twsfn5.ts_t2x = function(data) {
62
+        clog("ts_t2x",data)
63
+        var k,v
64
+        for ([k,v] of Object.entries(data.obj.times)){
65
+            clog(k,v.t - data.obj.t0 )
66
+        }
67
+    }
68
+
69
+
70
+    twsfn5.ts_t0x = function(data) {
71
+        // clog("pub_msg",pub_msg)
72
+        var msg = {}
73
+        msg[vc2.key] = "ts_t1"
74
+        twsfn5.s(msg)
75
+    }
76
+
77
+    twsfn5.ts_test = function(data) {
78
+        // clog("pub_msg",pub_msg)
79
+        // var msg = {}
80
+        // msg[vc2.key] = "ts_t1"
81
+        // twsfn.s(msg)
82
+        clog("jx twsfn5.ts_test TEST")
83
+    }
84
+
85
+    twsfn5.pub_msg = function(data) {
86
+        clog("pub_msg",data)
87
+        // var msg = {}
88
+        // msg[vc2.key] = "pong"
89
+        // twsfn5.s(msg)
90
+    }
91
+
92
+
93
+
94
+
95
+
96
+
97
+    twsfn5.qdb_got = function(data) {
98
+        clog("jx qdb_data",data)
99
+        clog("jx qdb_got",data.obj)
100
+        clog(data.obj)
101
+    }
102
+
103
+    twsfn5.qdb_got3 = function(data) {
104
+        clog("jx qdb_data",data)
105
+        clog("jx qdb_got",data.obj)
106
+        clog("~jx~",data.obj.participants,data.obj.corners)
107
+    }
108
+
109
+    twsfn5.recv_corners = function(data) {
110
+        // clog("jx qdb_data",data)
111
+        // clog("jx qdb_got",data.obj)
112
+        // glob_corner.corners=data.obj.corners
113
+        cad_ts5r()
114
+        clog("~jx~",data.obj.participants,data.obj.corners)
115
+    }
116
+
117
+    twsfn5.pingpong = function(data) {
118
+        // clog("VFB5 PONG2!")
119
+
120
+        var msg = {}
121
+        msg[vc2.key] = "pong"
122
+        twsfn5.s(msg)
123
+    }
124
+
125
+
126
+
127
+
128
+    twsfn5.onmessage = function(e) {
129
+        var recv_ts_u0 = window.performance.now()
130
+        var recv_ts = Date.now()
131
+        var recv_ts_u1 = window.performance.now()
132
+        // clog("VFB MSG",e)
133
+
134
+        // clog()
135
+        // return
136
+        var data = JSON.parse(e.data);
137
+        data.recv_ts = recv_ts
138
+        data.recv_ts_u0 = recv_ts_u0
139
+        data.recv_ts_u1 = recv_ts_u1
140
+        if (data.type != "pingpong"){
141
+            // clog("ixq twsfn5.onmessage")
142
+        }
143
+        // clog("VFB data",data)
144
+        // clog("WS ONMSG",data)
145
+        if (data.message != undefined){
146
+            // twsfn5.on_chat_message(data)
147
+        }
148
+        if (data.type != undefined && twsfn5[data.type]){
149
+            twsfn5[data.type](data,e)
150
+
151
+        } else {
152
+            clog("VFB data",data)
153
+        }
154
+    };
155
+
156
+    twsfn5.onopen = function(e) {
157
+        clog("jx ONCON...")
158
+        chatSocket.onopen
159
+        // clog("jx ONCON....")
160
+        // window.qdb ? onconnect : console.err("ERR no qdb")
161
+        // window.qdb ? window.qdb.onconnect() : console.error(" jx ERR no qdb")
162
+        window.qdb ? window.qdb.onconnect_2() : console.error(" jx ERR no qdb")
163
+        // console.error(" jx ERR test")
164
+        // console.error(" jx ERR test2")
165
+        // clog("jx ONCON... fin")
166
+    }
167
+    twsfn5.onclose = function(e) {
168
+        console.error('VFB2 vChat socket closed unexpectedly');
169
+        setTimeout(connect_helper5,1400)
170
+        // setTimeout(vconnect_ws,1400)
171
+    };
172
+
173
+
174
+ twsfn5.s=   function(o){
175
+
176
+        if (o.key != "pong"){
177
+            // clog("ixq twsfn5.send")
178
+        }
179
+
180
+    var vchatSocket = gws.sockets["ws_n15"]
181
+        // .send(JSON.stringify(o));
182
+        // twsfn5.s0 =
183
+         vchatSocket.send(JSON.stringify(o));
184
+    }
185
+
186
+// s =twsfn5.s
187
+// vconnect_ws()
188
+
189
+
190
+
191
+
192
+
193
+
194
+// delete qdb
195
+{
196
+
197
+class QDB {
198
+    constructor(){
199
+        this.db = {}
200
+    }
201
+    onconnect(){
202
+
203
+        qdb.get_corners()
204
+    }
205
+    onconnect_2(){
206
+        clog("JX onconnect_2")
207
+        // qdb.get_corners()
208
+        // setTimeout(this.get_corners.bind(this,1000))
209
+
210
+        setTimeout(this.get_corners.bind(this),100)
211
+        setTimeout(this.get_corners.bind(this),2000)
212
+        get_cui_html(rldi.files["cui3.html"])
213
+
214
+        // setTimeout(this.get_corners.bind(this,1000))
215
+        // setTimeout(this.get_corners.bind(this,))
216
+        // setTimeout(qdb.get_corners.bind(this,100)
217
+
218
+        // qdb.get_corners()
219
+    }
220
+
221
+    send(o){
222
+        twsfn5.s(o)
223
+    }
224
+    q(action){
225
+        this.send({"key":"qdb","action":action})
226
+
227
+    }
228
+    get_db(){
229
+        this.send({"key":"qdb","action":"get_db"})
230
+
231
+    }
232
+    get_db2(){
233
+        this.send({"key":"qdb","action":"get_db2"})
234
+
235
+    }
236
+
237
+    
238
+    set_db(){
239
+        this.send({"key":"qdb","action":"set_db"})
240
+
241
+    }
242
+
243
+    update(){
244
+
245
+    }
246
+    proc_response(data){
247
+        clog("jx proc_response",data)
248
+    }
249
+
250
+    updated(){
251
+
252
+    }
253
+
254
+    set_corners(corner_name){
255
+        this.send({"key":"qdb","action":"set_corners","corner_name":corner_name})
256
+    }
257
+    get_corners(corner_name){
258
+        clog("jx get_corners abc 123",this)
259
+        this.send({"key":"qdb","action":"get_corners"})
260
+    }
261
+    add_corner(corner_name){
262
+        this.send({"key":"qdb","action":"add_corner","corner_name":corner_name})
263
+    }
264
+    remove_corner(corner_name){
265
+        this.send({"key":"qdb","action":"remove_corner","corner_name":corner_name})
266
+    }
267
+    move(corner_name){
268
+        this.send({"key":"qdb","action":"move","corner_name":corner_name})
269
+    }
270
+
271
+
272
+    time_sync(){
273
+        clog("TIME SYNC")
274
+        // Date.now()
275
+
276
+
277
+        this.send({"key":"qdb","action":"time_sync","t0":Date.now(),"t0_u":window.performance.now()})
278
+    }
279
+
280
+    // server_ts
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+}
290
+window.QDB = QDB
291
+}
292
+function replace_proto(){
293
+    window.qdb.__proto__ = QDB.prototype
294
+    var vchatSocket = gws.sockets["ws_n15"]
295
+    var wsfn = twsfn5
296
+
297
+    vchatSocket.onmessage = wsfn.onmessage
298
+    vchatSocket.onclose = wsfn.onclose  
299
+    vchatSocket.onopen = wsfn.onopen  
300
+
301
+}
302
+if (!window.qdb){
303
+    window.qdb = new QDB()
304
+
305
+} 
306
+
307
+
308
+
309
+
310
+window.QDB_def0 = QDB + ""
311
+if (window.QDB_def0 != window.QDB_def){
312
+    if (window.QDB_def){
313
+
314
+window.QDB_def = QDB + ""
315
+replace_proto()
316
+    }
317
+window.QDB_def = QDB + ""
318
+}
319
+if (window.qdb){
320
+    twsfn5.client_qbd = window.qdb.proc_response
321
+}
322
+
323
+twsfn5.get_db = function(){
324
+
325
+}
326
+twsfn5.server_ts = function(data,e){
327
+    var ts_u1 = window.performance.now()
328
+
329
+    var t1 = Date.now()
330
+    var t0 = data.req.t0
331
+    var ts = data.server_time
332
+    var tsx =ts * 1000
333
+    var ta = (t0+t1)/2
334
+    tsd = new Date(ts*1000)
335
+    t0d = new Date(t0)
336
+    t1d = new Date(t1)
337
+    td2 = ta - tsx
338
+    td  =  tsx - ta
339
+    tarr = [[t1,"t1"],[tsx,"tsx"],[t0,"t0"],[ta,"ta"],[td,"td"],[td2,"td2"]]
340
+    tobj = {t1,tsx,t0,ta,td,td2}
341
+
342
+    clog("ts:",t1 - data.recv_ts,ts_u1- data.recv_ts_u1,data)
343
+    // clog("ts:",{t0,ts,t1})
344
+
345
+    // clog("ts3:",(t0+t1)/2 - (ts *1000),t0 - t1)
346
+
347
+    t01 = t0 - t1
348
+    t01_u = data.req.t0_u - ts_u1
349
+
350
+    clog("ts3:",(t0+t1)/2 - tsx,t0-tsx,t1-tsx,t0 - t1)
351
+    if (!qdb.td){
352
+        qdb.td = 0
353
+    }
354
+    clog("ts4:",qdb.td - td,"~",qdb.td,td)
355
+    clog("ts5:",t01,t01_u)
356
+    qdb.td = td
357
+    qdb.td2 = td2
358
+    if (window.clock_info_draw){
359
+        clock_info_draw()
360
+    }
361
+
362
+}
363
+twsfn5.update_db = function(){}
364
+twsfn5.updated_db = function(){}
365
+
366
+
367
+
368
+
369
+
370
+function rld_continues(){
371
+    clog("vfb jx RC")
372
+    if (window.stop_flag){
373
+        return 
374
+    }
375
+    twsfn5.s({"key":"rld"})
376
+    setTimeout(rld_continues,500)
377
+}
378
+
379
+
380
+
381
+
382
+
383
+connect_helper5()
384
+
385
+
386
+
387
+// setTimeout
388
+
389
+
390
+clog("BX5")

+ 163
- 0
rf/conn/tconn.js Wyświetl plik

1
+twsfn = {}
2
+
3
+vc2 = {
4
+    key:"key",
5
+}
6
+
7
+
8
+window.roomName = window.location.pathname.split("/").pop()
9
+
10
+if (!window.gws){
11
+    window.gws = {
12
+        sockets:{},
13
+    }
14
+}
15
+gws.twsfn= twsfn
16
+
17
+
18
+function connect_ws_arg(o){
19
+    // console.trace("lxw")
20
+    var vchatSocket
21
+    // vchatSocket = gws[o.name]
22
+    vchatSocket = gws.sockets[o.name]
23
+    if (vchatSocket && vchatSocket.readyState < 2) {
24
+    clog("VFB2 WSS ALLREADY CONNECTED!")
25
+        return
26
+    }
27
+    clog("VFB2 WSS CONTECTING")
28
+
29
+    vchatSocket = new WebSocket(o.url);
30
+        // '/ws/chat/' + window.roomName + '/?qqAAAAAAAAAAAAAAAAA');
31
+    // window.vchatSocket =vchatSocket
32
+    gws.sockets[o.name] = vchatSocket
33
+    // var wsfn = gws[o.wsfn]
34
+    var wsfn = o.wsfn
35
+
36
+    vchatSocket.onmessage = wsfn.onmessage
37
+    vchatSocket.onclose = wsfn.onclose  
38
+    vchatSocket.onopen = wsfn.onopen  
39
+}
40
+
41
+
42
+
43
+function connect_helper(){
44
+        var o = {  
45
+            // url:'wss://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
46
+            // url:'wss://' + window.location.host + '/chat/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
47
+            url:'wss://' + window.location.host + ':8943/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
48
+            // url:'ws://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
49
+            wsfn:twsfn,
50
+            name:"ws_n1",
51
+        }
52
+        clog("o",o)
53
+        connect_ws_arg(o)
54
+}
55
+
56
+
57
+
58
+
59
+
60
+// connect_ws_arg()
61
+
62
+
63
+        // 'wss://' + window.location.host +
64
+        // '/ws/vts/' + window.roomName + '/?qqAAAAAAAAAAAAAAAAA'
65
+
66
+
67
+
68
+
69
+    twsfn.ts_t2x = function(data) {
70
+        clog("ts_t2x",data)
71
+        var k,v
72
+        for ([k,v] of Object.entries(data.obj.times)){
73
+            clog(k,v.t - data.obj.t0 )
74
+        }
75
+    }
76
+
77
+
78
+    twsfn.ts_t0x = function(data) {
79
+        // clog("pub_msg",pub_msg)
80
+        var msg = {}
81
+        msg[vc2.key] = "ts_t1"
82
+        twsfn.s(msg)
83
+    }
84
+
85
+
86
+
87
+    twsfn.pub_msg = function(data) {
88
+        clog("pub_msg",data)
89
+        // var msg = {}
90
+        // msg[vc2.key] = "pong"
91
+        // twsfn.s(msg)
92
+    }
93
+
94
+
95
+
96
+
97
+
98
+
99
+    twsfn.pingpong = function(data) {
100
+        // clog("VFB2 PONG2!")
101
+
102
+        var msg = {}
103
+        msg[vc2.key] = "pong"
104
+        twsfn.s(msg)
105
+    }
106
+
107
+
108
+
109
+
110
+    twsfn.onmessage = function(e) {
111
+        // clog("VFB MSG",e)
112
+
113
+        // clog()
114
+        // return
115
+        var data = JSON.parse(e.data);
116
+        // clog("VFB data",data)
117
+        // clog("WS ONMSG",data)
118
+        if (data.message != undefined){
119
+            // twsfn.on_chat_message(data)
120
+        }
121
+        if (data.type != undefined && twsfn[data.type]){
122
+            twsfn[data.type](data,e)
123
+
124
+        } else {
125
+            clog("VFB data",data)
126
+        }
127
+    };
128
+
129
+    twsfn.onopen = function(e) {
130
+        chatSocket.onopen
131
+    }
132
+    twsfn.onclose = function(e) {
133
+        console.error('VFB2 vChat socket closed unexpectedly');
134
+        setTimeout(connect_helper,1400)
135
+        // setTimeout(vconnect_ws,1400)
136
+    };
137
+
138
+
139
+ twsfn.s=   function(o){
140
+    var vchatSocket = gws.sockets["ws_n1"]
141
+        // .send(JSON.stringify(o));
142
+        vchatSocket.send(JSON.stringify(o));
143
+    }
144
+    twsfn.ts_test = function(data) {
145
+        // clog("pub_msg",pub_msg)
146
+        // var msg = {}
147
+        // msg[vc2.key] = "ts_t1"
148
+        // twsfn.s(msg)
149
+        clog("jx twsfn.ts_test TEST")
150
+    }
151
+
152
+// s =twsfn.s
153
+// vconnect_ws()
154
+
155
+
156
+// connect_helper()
157
+
158
+
159
+
160
+// setTimeout
161
+// twsfn.s({key:"ts_t0"})
162
+
163
+

+ 4
- 0
rf/fake_resize.js Wyświetl plik

1
 
1
 
2
 // make the App think you resized the window
2
 // make the App think you resized the window
3
 function dispatch_resize(store = APP.store) {
3
 function dispatch_resize(store = APP.store) {
4
+	if (!store){
5
+		clog("nostore")
6
+		return
7
+	}
4
         // store.dispatch(clientResized_dev(innerWidth, innerHeight));
8
         // store.dispatch(clientResized_dev(innerWidth, innerHeight));
5
         store.dispatch({
9
         store.dispatch({
6
         type: "CLIENT_RESIZED",
10
         type: "CLIENT_RESIZED",

+ 1
- 0
rf/filmstrip_mod/m.js Wyświetl plik

113
     n = `
113
     n = `
114
     <span class="plugin_top tbar"><span class="outline_indicator ind_1"></span><span class="outline_indicator ind_2"></span><span class="outline_indicator ind_3"></span><span class="outline_indicator ind_4"></span>
114
     <span class="plugin_top tbar"><span class="outline_indicator ind_1"></span><span class="outline_indicator ind_2"></span><span class="outline_indicator ind_3"></span><span class="outline_indicator ind_4"></span>
115
     <div class="m xbox">ABC</div>
115
     <div class="m xbox">ABC</div>
116
+    <div class="m sv_info"></div>
116
     </span>`
117
     </span>`
117
 
118
 
118
     html_hooks.create_vid_toptoolbar_hook_after(n)
119
     html_hooks.create_vid_toptoolbar_hook_after(n)

+ 7
- 5
rf/filmstrip_mod/m0.js Wyświetl plik

333
         width:s_width - m,
333
         width:s_width - m,
334
         // height:h53,
334
         // height:h53,
335
         height:h_height - hm,
335
         height:h_height - hm,
336
+        "--vheight":h_height - hm,
337
+        "--width":s_width - m,
336
         // top:vtop - 2 + (hm * .5),
338
         // top:vtop - 2 + (hm * .5),
337
         transform: "translate(0%, -50%)",
339
         transform: "translate(0%, -50%)",
338
         top:`calc(50% + ${Math.floor(hm * 1)}px)`,
340
         top:`calc(50% + ${Math.floor(hm * 1)}px)`,
661
     // remap_set($(".local_vid")[0],1)
663
     // remap_set($(".local_vid")[0],1)
662
     remap_set($(".local_vid")[0],3)
664
     remap_set($(".local_vid")[0],3)
663
     // remap_set( $(`#participant_${mod_id.id}`)[0],2)
665
     // remap_set( $(`#participant_${mod_id.id}`)[0],2)
664
-    clog("indexed_map0",arr,indexed_map)
666
+    // clog("indexed_map0",arr,indexed_map)
665
     if (window.rotate_tiles){
667
     if (window.rotate_tiles){
666
         try {
668
         try {
667
-            clog("mod_sort2")
669
+            // clog("mod_sort2")
668
         window.rotate_tiles(arr)
670
         window.rotate_tiles(arr)
669
 
671
 
670
         } catch {}
672
         } catch {}
671
     }
673
     }
672
-    clog("indexed_map",arr,indexed_map)
674
+    // clog("indexed_map",arr,indexed_map)
673
     arr = remap_sort(arr)
675
     arr = remap_sort(arr)
674
     arr = remap_sort(arr)
676
     arr = remap_sort(arr)
675
     arr = remap_sort(arr)
677
     arr = remap_sort(arr)
676
-    clog("indexed_map2",arr,indexed_map)
678
+    // clog("indexed_map2",arr,indexed_map)
677
     window.sorted_tiles = arr
679
     window.sorted_tiles = arr
678
 
680
 
679
 
681
 
869
         
871
         
870
 
872
 
871
     }
873
     }
872
-    clog("````",ret)
874
+    // clog("````",ret)
873
     $(ret.first_right).addClass("ir0")
875
     $(ret.first_right).addClass("ir0")
874
     $(ret.first_left).addClass("il0")
876
     $(ret.first_left).addClass("il0")
875
     return ret
877
     return ret

+ 2
- 2
rf/fs.css Wyświetl plik

69
 }
69
 }
70
 
70
 
71
 #sharedVideoIFrame {
71
 #sharedVideoIFrame {
72
-	width: 100% !important;
73
-	height: 100% !important;
72
+	/*width: 100% !important;*/
73
+	/*height: 100% !important;*/
74
 }
74
 }
75
 
75
 
76
 #videospace{
76
 #videospace{

+ 3
- 0
rf/i4n/m.css Wyświetl plik

337
 	/*height: 2em;*/
337
 	/*height: 2em;*/
338
 	/*top: 0px; left: 0px; right: 0px; bottom: 0px;*/
338
 	/*top: 0px; left: 0px; right: 0px; bottom: 0px;*/
339
 }
339
 }
340
+
341
+
342
+

+ 1
- 1
rf/m/m_api_v2.js Wyświetl plik

173
 }
173
 }
174
 function html_rld_cb5(that,rsp,status,xhr){
174
 function html_rld_cb5(that,rsp,status,xhr){
175
 	clog("html_rld_cb5",{that,rsp,status,xhr})
175
 	clog("html_rld_cb5",{that,rsp,status,xhr})
176
-	console.err("~ async load_err html_rld_cb5 ~")
176
+	console.error("~ async load_err html_rld_cb5 ~")
177
 	window[xhr.file.success_js](rsp,status,xhr)
177
 	window[xhr.file.success_js](rsp,status,xhr)
178
 
178
 
179
 
179
 

+ 34
- 34
rf/m/m_utils.js Wyświetl plik

41
 //glob_mx.filmstrip_handlers = glob_mx.filmstrip_handlers || {}
41
 //glob_mx.filmstrip_handlers = glob_mx.filmstrip_handlers || {}
42
 
42
 
43
 }
43
 }
44
-
44
+dlog = nop
45
 
45
 
46
 
46
 
47
 function match(mx,m,o){
47
 function match(mx,m,o){
48
 	var k,v,k2,v2
48
 	var k,v,k2,v2
49
 	var r = 0
49
 	var r = 0
50
-		// clog("@",mx,m,o)
50
+
51
 	for ([k,v] of Object.entries(m || {})){
51
 	for ([k,v] of Object.entries(m || {})){
52
 		v2 = o[k]
52
 		v2 = o[k]
53
-    // clog("M~",k,typeof(v),typeof(v2),v,v2)
53
+
54
 		if (typeof(v) == "string" && typeof(v2) == "string") {
54
 		if (typeof(v) == "string" && typeof(v2) == "string") {
55
 			r += !(v==v2)
55
 			r += !(v==v2)
56
 		} else if (Array.isArray(v) && Array.isArray(v2)){
56
 		} else if (Array.isArray(v) && Array.isArray(v2)){
58
 		} else if (Array.isArray(v) && typeof(v2) == "string"){
58
 		} else if (Array.isArray(v) && typeof(v2) == "string"){
59
       // r += !(isSubset_arr(v2,v))
59
       // r += !(isSubset_arr(v2,v))
60
       r += !v.includes(v2)
60
       r += !v.includes(v2)
61
-			// clog("!!!!!!!!!!!!!",v,v2,isSubset_arr(v2,v))
61
+
62
 		} else if (Array.isArray(v2) && typeof(v) == "string"){
62
 		} else if (Array.isArray(v2) && typeof(v) == "string"){
63
 			r += !(v2.includes(v))
63
 			r += !(v2.includes(v))
64
 		}
64
 		}
116
 	var k,v
116
 	var k,v
117
 	e.parsed.etype ? 1 : e.parsed.etype = "null"
117
 	e.parsed.etype ? 1 : e.parsed.etype = "null"
118
 	var mflag =0
118
 	var mflag =0
119
-		clog("dispatch_events??",e,key)
119
+		dlog("dispatch_events??",e,key)
120
 
120
 
121
 	for ([k,v] of Object.entries(glob_mx.event_handlers || {}) ) {
121
 	for ([k,v] of Object.entries(glob_mx.event_handlers || {}) ) {
122
-		clog("dispatch_events:",k)
122
+		dlog("dispatch_events:",k)
123
 		if (v.m){
123
 		if (v.m){
124
 			mflag = match({},v.m,e.parsed)
124
 			mflag = match({},v.m,e.parsed)
125
 		mflag ? v.fn(e) : 1
125
 		mflag ? v.fn(e) : 1
130
 
130
 
131
 function run_cbs(key){
131
 function run_cbs(key){
132
 	var k,v
132
 	var k,v
133
-		clog("RUN_CB??",key,glob_mx.cb[key])
133
+		dlog("RUN_CB??",key,glob_mx.cb[key])
134
 
134
 
135
 	for ([k,v] of Object.entries(glob_mx.cb[key]|| {}) ) {
135
 	for ([k,v] of Object.entries(glob_mx.cb[key]|| {}) ) {
136
-		clog("RUN_CB:",k)
136
+		dlog("RUN_CB:",k)
137
 		v()
137
 		v()
138
 	}
138
 	}
139
 }
139
 }
140
 
140
 
141
 function run_hook_cbs(key,o){
141
 function run_hook_cbs(key,o){
142
 	var k,v
142
 	var k,v
143
-		// clog("RUN_HOOK_CB??",key,glob_mx.hook_cb[key])
143
+		// dlog("RUN_HOOK_CB??",key,glob_mx.hook_cb[key])
144
 
144
 
145
 	for ([k,v] of Object.entries(glob_mx.hook_cb[key]|| {}) ) {
145
 	for ([k,v] of Object.entries(glob_mx.hook_cb[key]|| {}) ) {
146
-		// clog("RUN_HOOK_CB:",k)
146
+		// dlog("RUN_HOOK_CB:",k)
147
 		v(o)
147
 		v(o)
148
 	}
148
 	}
149
 }
149
 }
199
 		// var id = ai.from.split().slice(-1)[0]
199
 		// var id = ai.from.split().slice(-1)[0]
200
 		var id = ai.from.split("/").pop()
200
 		var id = ai.from.split("/").pop()
201
 
201
 
202
-		clog("mhndlr_rld2",m,parsed,n,n.dataset)
202
+		dlog("mhndlr_rld2",m,parsed,n,n.dataset)
203
 		var o = parsed.payload
203
 		var o = parsed.payload
204
 		switch (parsed.type){
204
 		switch (parsed.type){
205
 			case "set_msg":
205
 			case "set_msg":
206
 				pf._set_recv(o.path,o.key,o.val)
206
 				pf._set_recv(o.path,o.key,o.val)
207
 			break;
207
 			break;
208
 			case "event":
208
 			case "event":
209
-				clog("~event~",parsed)
209
+				dlog("~event~",parsed)
210
 				dispatch_events({parsed,ai,m,that})
210
 				dispatch_events({parsed,ai,m,that})
211
 			break;
211
 			break;
212
 			case "msg_test":
212
 			case "msg_test":
213
-				clog("msg_test",parsed)
213
+				dlog("msg_test",parsed)
214
 			break;
214
 			break;
215
 			case "db_sync_request":
215
 			case "db_sync_request":
216
 				// tmsgx3({type:"db_sync_response",payload:pf.root})
216
 				// tmsgx3({type:"db_sync_response",payload:pf.root})
217
 				tmsgx3({type:"db_sync_response",payload:pf.root},{to:ai.from})
217
 				tmsgx3({type:"db_sync_response",payload:pf.root},{to:ai.from})
218
 				
218
 				
219
-				clog("db_sync_request",parsed)
219
+				dlog("db_sync_request",parsed)
220
 			break;
220
 			break;
221
 			case "db_sync_response":
221
 			case "db_sync_response":
222
 				if (id == glob_mx.local_id){
222
 				if (id == glob_mx.local_id){
223
-					clog( "db_sync_response ...")
223
+					dlog( "db_sync_response ...")
224
 					break
224
 					break
225
 
225
 
226
 				}
226
 				}
229
 
229
 
230
 					}
230
 					}
231
 
231
 
232
-				clog("db_sync_response",ai.from == glob_mx.local_id,ai.from,parsed)
232
+				dlog("db_sync_response",ai.from == glob_mx.local_id,ai.from,parsed)
233
 			break;
233
 			break;
234
 
234
 
235
 		}
235
 		}
333
 		this.SymPrx = Symbol("SymPrx")
333
 		this.SymPrx = Symbol("SymPrx")
334
 	}
334
 	}
335
 	init(o){
335
 	init(o){
336
-		// clog("BP",this,this.baseProp,this.__proto__.baseProp,window.baseProp)
336
+		// dlog("BP",this,this.baseProp,this.__proto__.baseProp,window.baseProp)
337
 		this.root = o
337
 		this.root = o
338
 	}
338
 	}
339
 	sync(o){
339
 	sync(o){
349
 	}
349
 	}
350
 
350
 
351
 	_sett(o,k,v,prx,a0){
351
 	_sett(o,k,v,prx,a0){
352
-		clog("_SETT",this,arguments)
352
+		dlog("_SETT",this,arguments)
353
 	}
353
 	}
354
 	_sett2(o,k,v,prx,a0){
354
 	_sett2(o,k,v,prx,a0){
355
-		clog("_SETT2",this,arguments)
355
+		dlog("_SETT2",this,arguments)
356
 	}
356
 	}
357
 
357
 
358
 	set_pub(obj, prop, val,receiver){
358
 	set_pub(obj, prop, val,receiver){
359
-		// clog("qia_pub",obj, prop, val,receiver)
360
-		// clog("qia_pub2",this.n,obj.__path_arr, prop, jx(val))
359
+		// dlog("qia_pub",obj, prop, val,receiver)
360
+		// dlog("qia_pub2",this.n,obj.__path_arr, prop, jx(val))
361
 		this._set_pub(obj.__path_arr, prop, jx(val))
361
 		this._set_pub(obj.__path_arr, prop, jx(val))
362
 
362
 
363
 	}
363
 	}
393
 	}
393
 	}
394
 
394
 
395
 	set(obj, prop, val,receiver){
395
 	set(obj, prop, val,receiver){
396
-		// clog("prx_db set ",this,obj, prop, val,receiver,val.__prx)
396
+		// dlog("prx_db set ",this,obj, prop, val,receiver,val.__prx)
397
 		if (obj[prop] === val){
397
 		if (obj[prop] === val){
398
 			return Reflect.set(...arguments)
398
 			return Reflect.set(...arguments)
399
 		}
399
 		}
415
 		return Reflect.set(...arguments)
415
 		return Reflect.set(...arguments)
416
 	}
416
 	}
417
 	get(obj, prop,receiver){
417
 	get(obj, prop,receiver){
418
-		// clog("prx_db get ...",prop==isProxy,this,obj, prop,receiver)
418
+		// dlog("prx_db get ...",prop==isProxy,this,obj, prop,receiver)
419
 		if (this.hidden_props.includes(prop)){
419
 		if (this.hidden_props.includes(prop)){
420
 			switch (prop){
420
 			switch (prop){
421
 				case "add_proxy":
421
 				case "add_proxy":
424
 				case "prxy":
424
 				case "prxy":
425
 				return this
425
 				return this
426
 				case "_set":
426
 				case "_set":
427
-				// clog("_SET")
427
+				// dlog("_SET")
428
 				// return this._set.bind({this})
428
 				// return this._set.bind({this})
429
 				return this._set.bind({that:this,obj, prop,receiver})
429
 				return this._set.bind({that:this,obj, prop,receiver})
430
 				case "_sett":
430
 				case "_sett":
470
 	}
470
 	}
471
 
471
 
472
 	walker(o,tfo,dpth=0){
472
 	walker(o,tfo,dpth=0){
473
-		clog("qia WALK",this)
473
+		// dlog("qia WALK",this)
474
 		if (dpth > 7){
474
 		if (dpth > 7){
475
 			console.error("MAX DEPTH")
475
 			console.error("MAX DEPTH")
476
 			return
476
 			return
515
 
515
 
516
 	// for ([k,v] in m){
516
 	// for ([k,v] in m){
517
 		// case 
517
 		// case 
518
-		clog(k,v)
518
+		// dlog(k,v)
519
 	}
519
 	}
520
 	return !r
520
 	return !r
521
 }
521
 }
526
 		fn(set_scope,match){
526
 		fn(set_scope,match){
527
 
527
 
528
 
528
 
529
-			clog("FN....",match.fp,match.fp[1] == window.glob_mx.local_id)
529
+			// clog("FN....",match.fp,match.fp[1] == window.glob_mx.local_id)
530
 			if (match.fp[1] != window.glob_mx.local_id)
530
 			if (match.fp[1] != window.glob_mx.local_id)
531
 				throw "permission err"
531
 				throw "permission err"
532
 			return 
532
 			return 
541
 		fn(set_scope,match){
541
 		fn(set_scope,match){
542
 
542
 
543
 
543
 
544
-			clog("FN....",match.fp,match.fp[1] == window.glob_mx.local_id)
544
+			dlog("FN....",match.fp,match.fp[1] == window.glob_mx.local_id)
545
 			if (match.fp[1] != window.glob_mx.local_id)
545
 			if (match.fp[1] != window.glob_mx.local_id)
546
 				// throw "permission err"
546
 				// throw "permission err"
547
 			return 
547
 			return 
556
 			super(...arguments)
556
 			super(...arguments)
557
 		}
557
 		}
558
 		set(obj, prop, val,receiver){
558
 		set(obj, prop, val,receiver){
559
-			clog("PRX_PERM",obj.__path_arr,prop)
559
+			// clog("PRX_PERM",obj.__path_arr,prop)
560
 			var k,v
560
 			var k,v
561
 			var r
561
 			var r
562
 			var matched 
562
 			var matched 
570
 			}
570
 			}
571
 			// case
571
 			// case
572
 			// if (obj.__path_arr && obj.__path_arr.length){}
572
 			// if (obj.__path_arr && obj.__path_arr.length){}
573
-			super.set(obj, prop, val,receiver)
573
+			return super.set(obj, prop, val,receiver)
574
 		}
574
 		}
575
 		_set(){
575
 		_set(){
576
-			clog("Proxy_Permissions _set")
576
+			// clog("Proxy_Permissions _set")
577
 			super._set(...arguments)
577
 			super._set(...arguments)
578
 		}
578
 		}
579
 	}
579
 	}
645
 
645
 
646
 function init_mu(persistent_mods){
646
 function init_mu(persistent_mods){
647
 	// .role == "moderator"
647
 	// .role == "moderator"
648
-		clog(">>>>>>>>>>>>>>>>>>>.. RUN_CB")
648
+		// clog(">>>>>>>>>>>>>>>>>>>.. RUN_CB")
649
 var participants = get_participants()
649
 var participants = get_participants()
650
-clog(participants)
650
+// clog(participants)
651
 
651
 
652
 
652
 
653
 
653
 
655
 var local = get_local(participants)
655
 var local = get_local(participants)
656
 	if (window.glob_mx.local_id && persistent_mods && local.role=="moderator"){
656
 	if (window.glob_mx.local_id && persistent_mods && local.role=="moderator"){
657
 		// if window.glob_mx.local_id
657
 		// if window.glob_mx.local_id
658
-		clog("no RUN_CB")
658
+		// clog("no RUN_CB")
659
 
659
 
660
 		return
660
 		return
661
 	}
661
 	}

+ 2
- 1
rf/m/moveto.js Wyświetl plik

38
 	if (get_local().id == _from){
38
 	if (get_local().id == _from){
39
 		rld_room(room)
39
 		rld_room(room)
40
 	} else {
40
 	} else {
41
-		setTimeout(rld_room,2500,room)
41
+		// setTimeout(rld_room,2500,room)
42
+		setTimeout(rld_room,3500,room)
42
 
43
 
43
 	}
44
 	}
44
 
45
 

+ 6
- 29
rf/m2/m2.js Wyświetl plik

80
 		} else {
80
 		} else {
81
 			
81
 			
82
 		arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"sharedvideo")
82
 		arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"sharedvideo")
83
-		}
84
 		arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"desktop")
83
 		arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"desktop")
84
+		}
85
 
85
 
86
 		
86
 		
87
 		// arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"")
87
 		// arr_rmv(interfaceConfig.TOOLBAR_BUTTONS,"")
101
 	refresh_toolbar_config()
101
 	refresh_toolbar_config()
102
 dispatch_resize()
102
 dispatch_resize()
103
 }
103
 }
104
-window.ifn_obj.iammod = [mod_now]
105
 
104
 
106
-
107
-refresh_toolbar_config()
108
-dispatch_resize()
109
-// function
110
-clog("zzz")
111
-
112
-// mouseenter/mouseleave
105
+window.ifn_obj.iammod = [mod_now]
113
 
106
 
114
 
107
 
115
 
108
 
109
+refresh_toolbar_config()
116
 
110
 
111
+dispatch_resize()
117
 
112
 
113
+// function
118
 
114
 
119
-function dev_raf(){
120
-	if (glob_dbg.ff.stop){
121
-		return
122
-	}
123
-	let now = Date.now()
124
-	let ts = glob_dbg.ff.ts
125
-	let then = glob_dbg.ff.then
126
-	glob_dbg.ff.n.innerHTML = (now - ts ) / 1000 + "<br>"+ ( now - then ) + "<br>" + glob_dbg.ff.mmc + "<br>" + Math.max(...glob_dbg.ff.mma) + "<br>" + glob_dbg.ff.mma
127
-	glob_dbg.ff.then=now
128
-	// glob_dbg.ff.mmc
129
-	glob_dbg.ff.mma.push(glob_dbg.ff.mmc)
130
-	glob_dbg.ff.mma.shift()
131
 
115
 
116
+// mouseenter/mouseleave
132
 
117
 
133
-	glob_dbg.ff.mmc = 0
134
-	requestAnimationFrame(dev_raf)
135
 
118
 
136
-}
137
 
119
 
138
 
120
 
139
-glob_dbg.ff={
140
-	stop:0,
141
-	mmc:0,
142
-	mma:[-1,-1,-1,-1,-1,-1,-1],
143
-}
144
 // glob_dbg.ytp.playVideo()
121
 // glob_dbg.ytp.playVideo()
145
 
122
 
146
 /*
123
 /*

+ 2
- 2
rf/resize_hook.js Wyświetl plik

250
   // for ([k,v] of Object.entries(o)){
250
   // for ([k,v] of Object.entries(o)){
251
   // for ([k2,v2] of Object.entries(glob_react.vidClass)){
251
   // for ([k2,v2] of Object.entries(glob_react.vidClass)){
252
   for ([k2,v2] of Object.entries(classes)){
252
   for ([k2,v2] of Object.entries(classes)){
253
-      clog("...",k2)
253
+      clog("... dec",k2)
254
       ret[k2] = {}
254
       ret[k2] = {}
255
       o = v2.prototype
255
       o = v2.prototype
256
     for ([k,v] of iter_desc(o)){
256
     for ([k,v] of iter_desc(o)){
257
 
257
 
258
       // clog(k,v)
258
       // clog(k,v)
259
       ret[k2][k]=v
259
       ret[k2][k]=v
260
-      clog(k2,k,v)
260
+      // clog(k2,k,v)
261
     }
261
     }
262
   }
262
   }
263
   // clog("><",Object.getOwnPropertyDescriptors(o))
263
   // clog("><",Object.getOwnPropertyDescriptors(o))

+ 30
- 3
rf/svm.js Wyświetl plik

1
 
1
 
2
+
3
+
4
+function psc(o){
5
+	let event = o.args[0]
6
+	// if (event. == )
7
+
8
+ 	// event.data.push(event.data)
9
+ 	glob_dbg.yt.psl.push(event.data)
10
+	clog("yt_s psc",event.data,"~",event.target.getPlayerState(),event.target,event)
11
+	if (event.data == YT.PlayerState.PLAYING){
12
+		// glob_dbg.yt.unstart ? 0 : clog("yt_s psc","UNSTART 1")
13
+		glob_dbg.yt.unstart ? clog("yt_s psc","UNSTART 1") : 0
14
+		window.yt_rem1 ? window.yt_rem1() : clog("yt_dbg NO yt_rem1")
15
+ 	glob_dbg.yt.unstart = 0
16
+	}
17
+ 	window.ytp_unstart ? ytp_started_check(o.args[0]) : 0
18
+}
19
+glob_dbg.yt = glob_dbg.yt || {psl:[]}
20
+
2
 svm_win = {
21
 svm_win = {
3
  onYouTubeIframeAPIReady:function (o) {
22
  onYouTubeIframeAPIReady:function (o) {
4
  	
23
  	
5
  }, 
24
  }, 
6
  onPlayerStateChange:function (o) {
25
  onPlayerStateChange:function (o) {
7
  	// clog("xyz",o.args[0])
26
  	// clog("xyz",o.args[0])
27
+ 	// clog("yt_0dbg","onPlayerStateChange",o,)
8
  	// console.trace("OPSC")
28
  	// console.trace("OPSC")
29
+
9
  	// if ()
30
  	// if ()
10
- 	window.ytp_unstart ? ytp_started_check(o.args[0]) : 0
31
+ 	psc(o)
32
+ 	// window.ytp_unstart ? ytp_started_check(o.args[0]) : 0
11
  	
33
  	
12
  }, 
34
  }, 
13
  onVideoProgress:function (o) {
35
  onVideoProgress:function (o) {
17
  	
39
  	
18
  }, 
40
  }, 
19
  onPlayerReady:function (o) {
41
  onPlayerReady:function (o) {
42
+ 	glob_dbg.yt.psl.push("R")
43
+ 	glob_dbg.yt.unstart = 1
20
  	
44
  	
21
  }, 
45
  }, 
22
  onPlayerError:function (o) {
46
  onPlayerError:function (o) {
25
  svm:function (o) {
49
  svm:function (o) {
26
  	try {
50
  	try {
27
  	// clog("svm xyz",this,o)
51
  	// clog("svm xyz",this,o)
52
+ 	// clog("yt_0dbg","svm",o.fn_name,o)
28
  	this[o.fn_name](o)
53
  	this[o.fn_name](o)
29
 
54
 
30
  	}catch (err) {
55
  	}catch (err) {
31
 
56
 
32
- 	// clog("svm xyz err",err)
57
+ 	clog("svm xyz err",err)
33
  	}
58
  	}
34
  },
59
  },
35
-}
60
+}
61
+
62
+

+ 308
- 0
rf/ts/dev_raf.js Wyświetl plik

1
+
2
+
3
+function isEven(n) {
4
+   return Math.floor(n) % 2 == 0;
5
+}
6
+function to_server_time(t){
7
+	return t - - qdb.td
8
+
9
+}
10
+function to_client_time(t){
11
+	return t -  qdb.td
12
+	
13
+}
14
+
15
+function start_dev_raf(){
16
+	  glob_dbg.ff.ts = Date.now()
17
+	  glob_dbg.ff.ts = glob_dbg.ff0.ts
18
+    glob_dbg.ff.stop = 0
19
+    // glob_dbg.ff.n = $(".toggle_ff")[0]
20
+    glob_dbg.ff.n = $(".shared_vid_overlay")[0]
21
+    glob_dbg.ff.n.classList.remove("dev_raf_t0")
22
+    glob_dbg.ff.n.classList.remove("dev_raf_t1")
23
+
24
+    dev_raf()
25
+}
26
+
27
+
28
+function stop_dev_raf(){
29
+	  // glob_dbg.ff.ts = Date.now()
30
+    glob_dbg.ff.stop = 1
31
+    // glob_dbg.ff.n = $(".toggle_ff")[0]
32
+}
33
+function step_dev_raf(){
34
+	  // glob_dbg.ff.ts = Date.now()
35
+    glob_dbg.ff.stop = 1
36
+    glob_dbg.ff.step = 1
37
+	  glob_dbg.ff.ts = glob_dbg.ff0.ts
38
+    glob_dbg.ff.n = $(".shared_vid_overlay")[0]
39
+    glob_dbg.ff.n.classList.remove("dev_raf_t0")
40
+    glob_dbg.ff.n.classList.remove("dev_raf_t1")
41
+    dev_raf()
42
+    // glob_dbg.ff.n = $(".toggle_ff")[0]
43
+}
44
+
45
+function step_dev_raf_t(){
46
+	  // glob_dbg.ff.ts = Date.now()
47
+    glob_dbg.ff.stop = 1
48
+    glob_dbg.ff.step = 1
49
+	  glob_dbg.ff.ts = glob_dbg.ff0.ts
50
+	  // glob_dbg.ff.ts1 = Date.now()
51
+    glob_dbg.ff.n = $(".shared_vid_overlay")[0]
52
+    glob_dbg.ff.n.classList.remove("even")
53
+    glob_dbg.ff.n.classList.add("dev_raf_t0")
54
+    glob_dbg.ff.n.classList.remove("dev_raf_t1")
55
+    // setTimeout(dev_raf_t,1500)
56
+	  glob_dbg.ff.ts1 = to_server_time(Date.now())
57
+    setTimeout(dev_raf_t,1150)
58
+    // dev_raf_t()
59
+    // glob_dbg.ff.n = $(".toggle_ff")[0]
60
+}
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+function dev_raf_t(){
70
+	if (glob_dbg.ff.stop && !glob_dbg.ff.step){
71
+		return
72
+	}
73
+
74
+	let now = Date.now()
75
+
76
+	let ts = glob_dbg.ff.ts
77
+	let then = glob_dbg.ff.then
78
+	let tcount0  = (now - ts ) / 1000
79
+	// let tcount = tcount0 + qdb.td2
80
+
81
+	// let tcount = tcount0 - qdb.td2
82
+	let tcount = tcount0 - qdb_td2
83
+	let tcount2 = tcount0 + qdb_td2
84
+	// let tcount2 = tcount0 + qdb.td2
85
+
86
+	// glob_dbg.ff.n.innerHTML = tcount0 + "<br>" + tcount + "<br>" +  tcount2 + "<br>"+ ( now - then ) + "<br>"  +qdb_td2  +  "<br>"  
87
+	glob_dbg.ff.n.innerHTML =  `  ${tcount0} <br>${tcount} <br>${tcount2} <br>${ now - then }<br>${qdb_td2}  <br>`
88
+	glob_dbg.ff.then=now
89
+    glob_dbg.ff.n.classList.remove("dev_raf_t0")
90
+    glob_dbg.ff.n.classList.add("dev_raf_t1")
91
+    /*
92
+	if (isEven((tcount )/5)){
93
+		glob_dbg.ff.n.classList.add("even")
94
+		// glob_dbg.ff.n.classlist
95
+	} else {
96
+		glob_dbg.ff.n.classList.remove("even")
97
+	}
98
+	// glob_dbg.ff.mmc
99
+	glob_dbg.ff.mma.push(now - then)
100
+	// glob_dbg.ff.mma.push(glob_dbg.ff.mmc)
101
+	glob_dbg.ff.mma.shift()
102
+
103
+
104
+	glob_dbg.ff.mmc = 0
105
+    */
106
+
107
+	if (glob_dbg.ff.stop){
108
+		return
109
+	}
110
+
111
+	requestAnimationFrame(dev_raf_t)
112
+
113
+}
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+function dev_raf(){
137
+	if (glob_dbg.ff.stop && !glob_dbg.ff.step){
138
+		return
139
+	}
140
+
141
+	let now = Date.now()
142
+
143
+	let ts = glob_dbg.ff.ts
144
+	let then = glob_dbg.ff.then
145
+	let tcount0  = (now - ts ) / 1000
146
+	// let tcount = tcount0 + qdb.td2
147
+
148
+	// let tcount = tcount0 - qdb.td2
149
+	let tcount = tcount0 - qdb_td2
150
+	let tcount2 = tcount0 + qdb_td2
151
+	// let tcount2 = tcount0 + qdb.td2
152
+
153
+	glob_dbg.ff.n.innerHTML = tcount0 + "<br>" + tcount + "<br>" +  tcount2 + "<br>"+ ( now - then ) + "<br>"  +qdb_td2 + "<br>" + glob_dbg.ff.mmc + "<br>" + Math.max(...glob_dbg.ff.mma) + "<br>" + glob_dbg.ff.mma
154
+	glob_dbg.ff.then=now
155
+	if (isEven((tcount )/5)){
156
+		glob_dbg.ff.n.classList.add("even")
157
+		// glob_dbg.ff.n.classlist
158
+	} else {
159
+		glob_dbg.ff.n.classList.remove("even")
160
+	}
161
+	// glob_dbg.ff.mmc
162
+	glob_dbg.ff.mma.push(now - then)
163
+	// glob_dbg.ff.mma.push(glob_dbg.ff.mmc)
164
+	glob_dbg.ff.mma.shift()
165
+
166
+
167
+	glob_dbg.ff.mmc = 0
168
+
169
+	if (glob_dbg.ff.stop){
170
+		return
171
+	}
172
+
173
+	// requestAnimationFrame(dev_raf)
174
+	requestAnimationFrame(dev_raf)
175
+
176
+}
177
+// clog("m2 glob_dbg",window.glob_dbg)
178
+
179
+// clog("RF m2 070")
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+glob_dbg.ff={
191
+	stop:1,
192
+	mmc:0,
193
+	mma:[-1,-1,-1,-1,-1,-1,-1],
194
+	 n:$(".shared_vid_overlay")[0]
195
+}
196
+
197
+
198
+
199
+
200
+/*
201
+    config.desktopSharingFrameRate ={
202
+        min: 15,
203
+        max: 15
204
+    },
205
+
206
+*/
207
+
208
+glob_dbg.et = 0
209
+glob_dbg.et = glob_dbg.et || {
210
+	tsarr :[],
211
+	tsarr2 :[],
212
+} 
213
+
214
+function ltime0(n){
215
+	glob_dbg.et.x = Date.now()
216
+	setTimeout(ltime,0,0)
217
+	setTimeout(ltime,1,1)
218
+	setTimeout(ltime,2,2)
219
+	setTimeout(ltime,3,3)
220
+	setTimeout(ltime,4,4)
221
+	setTimeout(ltime,20,5)
222
+	setTimeout(ltime,40,6)
223
+	glob_dbg.et.x2 = Date.now()
224
+
225
+}
226
+function ltime(n){
227
+	glob_dbg.et.tsarr2[n] = Date.now()
228
+	// glob_dbg.et.tsarr.push(Date.now())
229
+
230
+}
231
+function exact_time(c=0){
232
+	if (c > 16){
233
+		return
234
+	}
235
+	setTimeout(exact_time,0,c+1)
236
+	glob_dbg.et.tsarr.push(Date.now())
237
+
238
+}
239
+
240
+function et_info(){
241
+	var t = 0
242
+	var ret = [] 
243
+	var k,v 
244
+	for (k of glob_dbg.et.tsarr){
245
+		ret.push(k-t)
246
+		t=k
247
+	}
248
+	return ret
249
+}
250
+
251
+function et_info2(){
252
+	var t = glob_dbg.et.x
253
+	var ret = [] 
254
+	var k,v 
255
+	for (k of glob_dbg.et.tsarr2){
256
+		ret.push(k-t)
257
+		// t=k
258
+	}
259
+	clog(glob_dbg.et.x2 - glob_dbg.et.x)
260
+	return ret
261
+}
262
+// glob_dbg.ff0 = 0
263
+glob_dbg.ff0 = glob_dbg.ff0 || {
264
+	ts:1594655494321,
265
+}
266
+
267
+
268
+function ff0_init(){
269
+	try {
270
+		clog(msto)
271
+		if (glob_mx.flags.init_db && msto.conference.ts){
272
+			glob_dbg.ff0.ts = msto.conference.ts
273
+		}
274
+		qdb.td ? 0 : qdb.time_sync()
275
+		glob_dbg.ff.n.classList.remove("even")
276
+	} catch (e){
277
+		clog("ff0 err:",e)
278
+	}
279
+
280
+}
281
+function reset_ts(){
282
+	// msto.conference.ts = Date.now() - qdb.td2
283
+	msto.conference.ts = Date.now() - Math.round(qdb.td2)
284
+	// msto.conference.ts = Date.now() - Math.round(qdb.td2)
285
+}
286
+
287
+
288
+
289
+ff0_init()
290
+
291
+
292
+window.qdb ? qdb_td2 = qdb.td2/1000 : 0
293
+// start_dev_raf()
294
+    // setTimeout(start_dev_raf,-100)
295
+    
296
+
297
+
298
+step_dev_raf()
299
+step_dev_raf_t()
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+

+ 35
- 0
rf/ts/ts.css Wyświetl plik

1
+
2
+
3
+.shared_vid_overlay{
4
+	position: relative;
5
+	/*text-align: left !important;*/
6
+	text-align: justify !important;
7
+	display: block;
8
+	/*width: 200px;*/
9
+	z-index: 20;
10
+	width: 100%;
11
+	height: 100%;
12
+	/*display: inline-block;*/
13
+}
14
+.shared_vid_overlay.even{
15
+
16
+	background-color: #0088;
17
+}
18
+
19
+.dev_raf_t0 {
20
+	background-color: #8008;
21
+
22
+}
23
+
24
+.dev_raf_t1 {
25
+	background-color: #0ff4;
26
+
27
+}
28
+
29
+.sv_info {
30
+	position: absolute;
31
+	width: 50%;
32
+	height: 50px;
33
+	/*background-color: red;*/
34
+	z-index: 3;
35
+}

+ 8
- 0
rf/ts/ts.html Wyświetl plik

1
+
2
+TS<br>
3
+<!--#echo var="DATE_GMT" --> 
4
+<br>
5
+
6
+<!--#echo var="time_iso8601" --> 
7
+<br>
8
+<!--#echo var="msec" --> 

+ 15
- 0
rf/ts/ts.js Wyświetl plik

1
+
2
+
3
+
4
+ts_js = {
5
+	filename:'<!--#echo var="request_filename" -->',
6
+	fn2:'<!--#echo var="uri" -->',
7
+	fn3:'<!--#echo var="args" -->',
8
+	ts:<!--#echo var="msec" --> ,
9
+	ts2:Date.now() ,
10
+}
11
+
12
+
13
+ 
14
+// clog("TS_dbg TS.JS")
15
+

+ 9
- 0
rf/ts/ts.json Wyświetl plik

1
+
2
+
3
+{
4
+	"filename":"<!--#echo var='request_filename' -->",
5
+	"fn2":"<!--#echo var="uri" -->",
6
+	"fn3":"<!--#echo var="args" -->",
7
+	"ts":"<!--#echo var="msec" -->" ,
8
+	"ts2":"Date.now()" ,
9
+}

+ 9
- 0
rf/ts/ts.txt Wyświetl plik

1
+
2
+
3
+{
4
+	"filename":"<!--#echo var='request_filename' -->",
5
+	"fn2":"<!--#echo var="uri" -->",
6
+	"fn3":"<!--#echo var="args" -->",
7
+	"ts":"<!--#echo var="msec" -->" ,
8
+	"ts2":"Date.now()" ,
9
+}

+ 9
- 0
rf/ts/ts2.html Wyświetl plik

1
+
2
+
3
+{
4
+	"filename":"<!--#echo var='request_filename' -->",
5
+	"fn2":"<!--#echo var="uri" -->",
6
+	"fn3":"<!--#echo var="args" -->",
7
+	"ts":<!--#echo var="msec" --> ,
8
+	"ts2":"Date.now()" ,
9
+}

+ 52
- 0
rf/ts/ts_dev.js Wyświetl plik

1
+
2
+
3
+// browser_tag
4
+
5
+
6
+// browser_tag
7
+
8
+
9
+
10
+if (typeof(window.isonfocus) == "undefined"){
11
+	window.isonfocus=true
12
+}
13
+
14
+// var isonfocus=true;  
15
+window.onblur = function(){  
16
+	clog("onblur")
17
+  isonfocus=false;  
18
+}  
19
+window.onfocus = function(){  
20
+	clog("onfocus")
21
+  isonfocus=true;  
22
+}
23
+
24
+
25
+function isviv(){
26
+	if (localStorage.browser_tag == "Vivaldi"){
27
+		clog("isviv")
28
+		$("body").addClass("vivaldi")
29
+	} else {
30
+		clog("!isviv")
31
+
32
+	}
33
+
34
+}
35
+
36
+isviv()
37
+
38
+
39
+function sv_trc(o){
40
+	let cnick = ""
41
+	if (o.cname == "SharedVideoManager"){
42
+		cnick = "svm"
43
+	} else if (o.cname == "SharedVideoContainer") {
44
+		cnick = "svc"
45
+
46
+	}
47
+		// SharedVideoManager
48
+		// SharedVideoContainer
49
+	clog("sv_trc",cnick,o.fn_name,[o])
50
+}
51
+
52
+

+ 178
- 0
rf/ts/ts_req.js Wyświetl plik

1
+
2
+
3
+
4
+glob_ts = window.glob_ts || {}
5
+
6
+function ts_req() {
7
+		clog("ts_dbg")
8
+		var file = {
9
+			url:"/ign/rf/ts/ts.js",
10
+  			cache:false,
11
+  			data:{"z":"abc"},
12
+  			dataType: "script",
13
+  			success:ts_rsp,
14
+		}
15
+		var ts = {}
16
+
17
+			var aii 
18
+		ts.t0= Date.now()
19
+			aii= $.ajax(file)
20
+		ts.t1= Date.now()
21
+			aii.jreq=file
22
+			aii.jmeta=ts
23
+
24
+
25
+		// clog("RLD CHECK")
26
+		/*
27
+		for (var file of this.arr){
28
+			var aii 
29
+			aii= $.ajax({
30
+  				url: file.url,
31
+  				data: file.qs,
32
+  				cache:false,
33
+  				success: file.respH,
34
+  				dataType: "text"
35
+			})
36
+			aii.rldh=file
37
+		}
38
+		*/
39
+	}
40
+
41
+function ts_rsp(resp,status,jqXHR) {
42
+	// clog("ts_dbg ts_rsp",{that:this,args:[arguments]})
43
+	var tfin = Date.now()
44
+	clog("ts_dbg ts_rsp",{that:this,resp,status,jqXHR,ts_js,tfin})
45
+	var ts_arr,ts_com
46
+	var ts_obj
47
+	ts_arr = [
48
+	jqXHR.jmeta.t0,
49
+	jqXHR.jmeta.t1,
50
+	ts_js.ts,
51
+	ts_js.ts2,
52
+	tfin,
53
+	]
54
+
55
+	ts_obj = {
56
+	req0:jqXHR.jmeta.t0,
57
+	req1:jqXHR.jmeta.t1,
58
+	server:ts_js.ts,
59
+	js:ts_js.ts2,
60
+	fin:tfin,
61
+	}
62
+
63
+	clog(ts_arr,ts_obj)
64
+	glob_ts.ts_obj = ts_obj
65
+	glob_ts.ts_arr = ts_arr
66
+	var tping = tfin - jqXHR.jmeta.t0
67
+	var tavg = (tfin + jqXHR.jmeta.t0)/2
68
+	var tsrv = ts_obj.server * 1000
69
+	var tdiff = tsrv  - tavg
70
+	ts_com = {
71
+		ts_dbg:"ts_com",
72
+		tping,
73
+		tavg,
74
+		tsrv,
75
+		tdiff,
76
+	}
77
+	glob_ts.ts_com = ts_com
78
+	console.table(ts_com)
79
+	// clog("ts_dbg","tdiff:",,)
80
+
81
+
82
+}
83
+
84
+
85
+function ts_req2() {
86
+		clog("ts_dbg")
87
+		var file = {
88
+			url:"/ign/rf/ts/tse.js",
89
+  			cache:false,
90
+  			data:{"z":"abc"},
91
+  			// dataType: "text",
92
+  			// dataType: "plane-text",
93
+  			dataType: "text",
94
+  			success:ts_rsp2,
95
+		}
96
+		var ts = {}
97
+
98
+			var aii 
99
+		ts.t0= Date.now()
100
+		file.xyz =ts.t0
101
+			aii= $.ajax(file)
102
+		// ts.t1= Date.now()
103
+			// aii.jreq=file
104
+			// aii.jmeta=ts
105
+
106
+
107
+		// clog("RLD CHECK")
108
+		/*
109
+		for (var file of this.arr){
110
+			var aii 
111
+			aii= $.ajax({
112
+  				url: file.url,
113
+  				data: file.qs,
114
+  				cache:false,
115
+  				success: file.respH,
116
+  				dataType: "text"
117
+			})
118
+			aii.rldh=file
119
+		}
120
+		*/
121
+	}
122
+
123
+function ts_rsp2(resp,status,jqXHR) {
124
+	// clog("ts_dbg ts_rsp",{that:this,args:[arguments]})
125
+	var tfin = Date.now()
126
+	// ts_js
127
+	clog("ts_dbg ts_rsp2",{that:this,resp,status,jqXHR,tfin})
128
+	// clog("ts_dbg ts_rsp2..",tfin - jqXHR.jmeta.t0)
129
+	clog("ts_dbg ts_rsp2..",tfin - this.xyz)
130
+	return
131
+
132
+	// clog("ts_dbg ts_rsp",{that:this,resp,status,jqXHR,ts_js,tfin})
133
+	var ts_arr,ts_com
134
+	var ts_obj
135
+	ts_arr = [
136
+	jqXHR.jmeta.t0,
137
+	jqXHR.jmeta.t1,
138
+	ts_js.ts,
139
+	ts_js.ts2,
140
+	tfin,
141
+	]
142
+
143
+	ts_obj = {
144
+	req0:jqXHR.jmeta.t0,
145
+	req1:jqXHR.jmeta.t1,
146
+	server:ts_js.ts,
147
+	js:ts_js.ts2,
148
+	fin:tfin,
149
+	}
150
+
151
+	clog(ts_arr,ts_obj)
152
+	glob_ts.ts_obj = ts_obj
153
+	glob_ts.ts_arr = ts_arr
154
+	var tping = tfin - jqXHR.jmeta.t0
155
+	var tavg = (tfin + jqXHR.jmeta.t0)/2
156
+	var tsrv = ts_obj.server * 1000
157
+	var tdiff = tsrv  - tavg
158
+	ts_com = {
159
+		ts_dbg:"ts_com",
160
+		tping,
161
+		tavg,
162
+		tsrv,
163
+		tdiff,
164
+	}
165
+	glob_ts.ts_com = ts_com
166
+	console.table(ts_com)
167
+	// clog("ts_dbg","tdiff:",,)
168
+
169
+
170
+}
171
+
172
+
173
+
174
+
175
+
176
+
177
+glob_ts.t = Date.now()
178
+setTimeout(ts_req,1250)

+ 1
- 0
rf/ts/tse.js Wyświetl plik

1
+:<!--#echo var="msec" -->

+ 2
- 2
rf/u/universals.js Wyświetl plik

2
 
2
 
3
 clog = console.log
3
 clog = console.log
4
 function nop(){}
4
 function nop(){}
5
-window.dev_flag = 0
6
-// window.dev_flag = 1
5
+// window.dev_flag = 0
6
+window.dev_flag = 1
7
 
7
 
8
 if (window.dev_flag){
8
 if (window.dev_flag){
9
 
9
 

+ 0
- 27
rf/ui_msg/r1.js Wyświetl plik

11
 	var svg,icon_template
11
 	var svg,icon_template
12
 
12
 
13
 	var jmod_templates_ui_msg = $(mod_templates_ui_msg)
13
 	var jmod_templates_ui_msg = $(mod_templates_ui_msg)
14
-	// n = jmod_templates_ui_msg.find(".popup_item_t")
15
-	// n = jmod_templates_ui_msg.find(".popup_item")
16
 	n = jmod_templates_ui_msg.find(".popup_item_req")
14
 	n = jmod_templates_ui_msg.find(".popup_item_req")
17
-	// ji_mic_on
18
-	/*
19
-
20
-	// svg = $(`<span>${glob_mx.svg["mic-disabled.svg"]}</span>`).find("svg").addClass("icon_svg")                                  
21
-	svg = $(`<span>${glob_mx.svg["mic-camera-combined.svg"]}</span>`).find("svg").addClass("icon_svg")                                  
22
-	// svg[0].setAttribute("width",16)                           
23
-	// svg[0].setAttribute("height",16)  
24
-	n.find(".jitsi-icon").append(svg)
25
-
26
-	svg = $(`<span>${glob_mx.svg["close.svg"]}</span>`).find("svg").addClass("icon_svg")                                  
27
-	svg[0].setAttribute("width",16)                           
28
-	svg[0].setAttribute("height",16) 
29
-	svg.addClass("x_svg") 
30
-	n.find(".jitsi-icon").append(svg)
31
-	*/
32
-
33
-	// ji_mic_on
34
-	// popup_item
35
-	// popupmenu
36
 	n.find(".av_io").click(evnt_av_io)
15
 	n.find(".av_io").click(evnt_av_io)
37
 	$(".popupmenu").prepend(n)
16
 	$(".popupmenu").prepend(n)
38
 
17
 
576
 	} else {
555
 	} else {
577
 		// participant_07b5a03f
556
 		// participant_07b5a03f
578
 		j.parents(".small_vid")[0]
557
 		j.parents(".small_vid")[0]
579
-		// clog("ELS",j.parents(".small_vid")[0].id.split("_").pop())
580
-		// o.id = j.parents(".small_vid")[0].id.split("_").pop()
581
 		o.to = j.parents(".small_vid")[0].id.split("_").pop()
558
 		o.to = j.parents(".small_vid")[0].id.split("_").pop()
582
-		// o.to = "abc"
583
 	}
559
 	}
584
 	req_av_send(o)
560
 	req_av_send(o)
585
 
561
 
607
 
583
 
608
 
584
 
609
 console.log("R1",$("#sharedVideoIFrame")[0].contentWindow)
585
 console.log("R1",$("#sharedVideoIFrame")[0].contentWindow)
610
-// $(".popover")
611
 // dispatch_evnt()
586
 // dispatch_evnt()
612
 // refresh_overflow_menu()
587
 // refresh_overflow_menu()
613
 // toggle_overflow_menu()
588
 // toggle_overflow_menu()
614
-// toggle_overflow_menu()
615
-// toggle_overflow_menu()
616
 
589
 
617
 
590
 
618
 
591
 

+ 1
- 7
rf/ui_msg/r2.js Wyświetl plik

16
 
16
 
17
 function defined_depth(o) {
17
 function defined_depth(o) {
18
 	var n
18
 	var n
19
-	// n = $("#sideToolbarContainer").clone()
20
-	// n = $(".sideToolbarContainer").clone()
21
 	n=$(o.root).clone()
19
 	n=$(o.root).clone()
22
 	clog("DEF DEPTH",n)
20
 	clog("DEF DEPTH",n)
23
 
21
 
67
 	k.parent().addBack().removeAttr("id")
65
 	k.parent().addBack().removeAttr("id")
68
 
66
 
69
 	return {n,z:n[0],raw_str:n[0].outerHTML,k,k2:k.parent().addBack()}
67
 	return {n,z:n[0],raw_str:n[0].outerHTML,k,k2:k.parent().addBack()}
70
-
71
-	// n = $("#sideToolbarContainer")
72
 	// n.remove()
68
 	// n.remove()
73
 
69
 
74
 	// body...
70
 	// body...
116
 tbx_u = 0
112
 tbx_u = 0
117
 tbx_uadd = 0
113
 tbx_uadd = 0
118
 function toolbox_update(o,name){
114
 function toolbox_update(o,name){
119
-	// console.trace("toolbox_update")
120
-	// _overflowMenuVisible
121
 	var diff,prevProps,that,props,ovrm
115
 	var diff,prevProps,that,props,ovrm
122
 	var attrs = [
116
 	var attrs = [
123
 	"_overflowMenuVisible",
117
 	"_overflowMenuVisible",
142
 	} else if (o.prevProps._overflowMenuVisible && !o.that.props._overflowMenuVisible){
136
 	} else if (o.prevProps._overflowMenuVisible && !o.that.props._overflowMenuVisible){
143
 		close_ovfm(ovrm)
137
 		close_ovfm(ovrm)
144
 	}
138
 	}
145
-	clog(name,o,diff,tbx_u,ovrm,o.prevProps._overflowMenuVisible && !o.that.props._overflowMenuVisible)
139
+	// clog(name,o,diff,tbx_u,ovrm,o.prevProps._overflowMenuVisible && !o.that.props._overflowMenuVisible)
146
 
140
 
147
 	if (Object.entries(diff).length){
141
 	if (Object.entries(diff).length){
148
 
142
 

+ 81
- 1
rf/ytsv/y.css Wyświetl plik

39
 
39
 
40
 .yt_thumb{
40
 .yt_thumb{
41
 	opacity: 0;
41
 	opacity: 0;
42
+}
43
+.yt_thumb.yt_thumb_focus{
42
 	pointer-events: none;
44
 	pointer-events: none;
45
+
43
 }
46
 }
44
 .ic1 {
47
 .ic1 {
45
 	/*opacity: .4;*/
48
 	/*opacity: .4;*/
83
 .yt_fs_focus .ic1> *:not(.yt_thumb) {
86
 .yt_fs_focus .ic1> *:not(.yt_thumb) {
84
 	pointer-events: auto;
87
 	pointer-events: auto;
85
 	/*opacity: .4;*/
88
 	/*opacity: .4;*/
86
-}
89
+}
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+.yt_fs .toggle_ff {
101
+	bottom: 45px !important;
102
+	padding-bottom: 0px;
103
+	/*left: 50%;*/
104
+	right:  50%;
105
+	transform: translateX(50%);
106
+}
107
+
108
+
109
+.yt_fs_focus {
110
+	/*background-color: red;*/
111
+}
112
+
113
+
114
+
115
+.toggle_ff.lvov{
116
+	/*opacity: 1 !important;*/
117
+}
118
+
119
+.yt_fs {
120
+	/*background-color: red;*/
121
+	/*outline: 20px solid #004;*/
122
+	/*outline: 20px inset #004;*/
123
+	outline: 20px ridge #008;
124
+	outline-offset: -15px;
125
+	/*opacity: 0;*/
126
+}
127
+.x_yt_fs2.x {
128
+	/*opacity: .5;*/
129
+		/*outline: 20px ridge #008;*/
130
+	background-color: #ff0;
131
+	/*outline-offset: -15px;*/
132
+}
133
+.x_yt_fs {
134
+	/*background-color: #055;*/
135
+		/*outline: 20px ridge #008;*/
136
+	/*outline-offset: -15px;*/
137
+}
138
+
139
+
140
+
141
+#largeVideoContainer{
142
+}
143
+
144
+
145
+#sharedVideoIFrame.z {
146
+	position: relative;
147
+
148
+	height:calc(var(--vheight) *  1px + 360px) !important;
149
+	/*padding-bottom: 20px;*/
150
+	top:0px;
151
+	/*padding-top: 0px;*/
152
+	/*height:  */
153
+	/*width: 100% !important;*/
154
+	/*height: 100% !important;*/
155
+	/*position: */
156
+	/*bottom: 0px;*/
157
+}
158
+
159
+
160
+
161
+.vivaldi #sharedVideo{
162
+	/*pointer-events: auto;*/
163
+	/*padding-bottom: 20px;*/
164
+}
165
+
166
+

+ 256
- 8
rf/ytsv/y.js Wyświetl plik

48
 
48
 
49
 
49
 
50
 function mv_yt(){
50
 function mv_yt(){
51
+	// clog("ytp_dbg MV_YT")
51
 	// clog( $(`#sharedVideoContainer.small_vid`),$("#sharedVideo"))
52
 	// clog( $(`#sharedVideoContainer.small_vid`),$("#sharedVideo"))
52
 	var shared_small_vid,shared_vid,sv_css,shared_vid_bcr,small_vid_bcr,node_offset
53
 	var shared_small_vid,shared_vid,sv_css,shared_vid_bcr,small_vid_bcr,node_offset
53
 	// var shared_vid
54
 	// var shared_vid
85
 		// $("#sharedVideo").css("pointer-events")
86
 		// $("#sharedVideo").css("pointer-events")
86
 	if (shared_vid.css("pointer-events") != "none"){
87
 	if (shared_vid.css("pointer-events") != "none"){
87
 			shared_small_vid.addClass("yt_thumb_focus")
88
 			shared_small_vid.addClass("yt_thumb_focus")
89
+	// $(".fs_container").removeClass("yt_fs")
90
+	// $(".fs_container").addClass("yt_sv")
91
+	// $(".lvov_container").addClass("yt_fs_focus")
88
 	$(".fs_container").addClass("yt_fs_focus")
92
 	$(".fs_container").addClass("yt_fs_focus")
89
 	}
93
 	}
90
 
94
 
105
 	shared_small_vid.removeClass("yt_thumb")
109
 	shared_small_vid.removeClass("yt_thumb")
106
 	shared_small_vid.removeClass("yt_thumb_focus")
110
 	shared_small_vid.removeClass("yt_thumb_focus")
107
 	$(".fs_container").removeClass("yt_fs_focus")
111
 	$(".fs_container").removeClass("yt_fs_focus")
112
+
113
+
114
+	// $(".fs_container").addClass("yt_fs")
115
+	// $(".fs_container").removeClass("yt_sv")
116
+
117
+
108
 	shared_vid.css(dflt_shared_vid_css)
118
 	shared_vid.css(dflt_shared_vid_css)
109
 	clog("mv_yt")
119
 	clog("mv_yt")
110
 }
120
 }
137
 	mvyt_helper()
147
 	mvyt_helper()
138
 }
148
 }
139
 window.glob_mx.qxi_cb.SELECT_LARGE_VIDEO_PARTICIPANT.fn = slvp
149
 window.glob_mx.qxi_cb.SELECT_LARGE_VIDEO_PARTICIPANT.fn = slvp
150
+
151
+
152
+function yt_ui(lvp,lvs){
153
+
154
+if ($("#sharedVideoContainer.small_vid").length &&  $("#sharedVideo").css("pointer-events") != "none") {
155
+
156
+
157
+		 // $(".fs_container").removeClass("x_yt_fs")
158
+		 $(".lvov_container").addClass("yt_fs")
159
+
160
+	} else {
161
+		 $(".lvov_container").removeClass("yt_fs")
162
+
163
+	}
164
+
165
+}
166
+function yt_ui2(lvp,lvs){
167
+		 $(".fs_container").removeClass("x_yt_fs2")
168
+
169
+	if ((!lvs.isVideoMuted ) && (!(lvp.isFakeParticipant && lvp.name == "YouTube") )){
170
+		 $(".lvov_container").removeClass("yt_fs")
171
+		 $(".fs_container").addClass("x_yt_fs")
172
+		 if ($("#sharedVideoContainer.small_vid").length) {
173
+		 $(".fs_container").addClass("x_yt_fs2")
174
+
175
+		 }
176
+
177
+
178
+	} else if ($("#sharedVideoContainer.small_vid").length &&  $("#sharedVideo").css("pointer-events") != "none") {
179
+
180
+
181
+		 $(".fs_container").removeClass("x_yt_fs")
182
+		 $(".lvov_container").addClass("yt_fs")
183
+
184
+	} else {
185
+		 $(".fs_container").addClass("x_yt_fs")
186
+		 $(".lvov_container").removeClass("yt_fs")
187
+
188
+	}
189
+
190
+	// $("#sharedVideoContainer.small_vid")
191
+}
192
+
193
+
140
 function get_large_vid(){
194
 function get_large_vid(){
141
 	var lv,smallvids,participants,id,lvp,lvs
195
 	var lv,smallvids,participants,id,lvp,lvs
196
+	// $(".fs_container").removeClass("yt_sv")
197
+	// $(".fs_container").removeClass("yt_fs")
142
 	lv = APP.store.getState()['features/large-video']
198
 	lv = APP.store.getState()['features/large-video']
143
 	id = lv.participantId
199
 	id = lv.participantId
144
 
200
 
160
 		mv_yt0()
216
 		mv_yt0()
161
 
217
 
162
 	}
218
 	}
163
-	// glob_dev_hooks.smallvids
219
+
220
+	// $("#sharedVideoContainer.small_vid")
221
+	yt_ui(lvp,lvs)
222
+	// if (lvp.isFakeParticipant && lvp.name == "YouTube"){
223
+
224
+	// }
225
+	// fix theater & full screen possitions
226
+	 // $("#sharedVideo").css("pointer-events")
227
+ 
164
 
228
 
165
 }
229
 }
166
 
230
 
172
 	clog("init_db_yt...",jc(msto))
236
 	clog("init_db_yt...",jc(msto))
173
 	msto.my_data.yt_dbg = {
237
 	msto.my_data.yt_dbg = {
174
 		yt_id:"",
238
 		yt_id:"",
239
+		shared:{},
175
 		yt_all_evnt:[],
240
 		yt_all_evnt:[],
176
 		yt_evnt:[],
241
 		yt_evnt:[],
177
 	}
242
 	}
243
+	glob_dbg.participants = get_participants()
244
+	if (glob_dbg.ytp_onload){
245
+		clog("yt_dbg onload")
246
+		yt_check_status()
247
+	}
178
 	// msto.
248
 	// msto.
179
 }
249
 }
180
 
250
 
198
 // window.glob_mx.qxi_cb.PARTICIPANT_LEFT    = window.glob_mx.qxi_cb.PARTICIPANT_LEFT || {}
268
 // window.glob_mx.qxi_cb.PARTICIPANT_LEFT    = window.glob_mx.qxi_cb.PARTICIPANT_LEFT || {}
199
 // window.glob_mx.qxi_cb.CONFERENCE_JOINED    = window.glob_mx.qxi_cb.CONFERENCE_JOINED || {}
269
 // window.glob_mx.qxi_cb.CONFERENCE_JOINED    = window.glob_mx.qxi_cb.CONFERENCE_JOINED || {}
200
 // window.glob_mx.qxi_cb.PARTICIPANT_JOINED  = window.glob_mx.qxi_cb.PARTICIPANT_JOINED || {}
270
 // window.glob_mx.qxi_cb.PARTICIPANT_JOINED  = window.glob_mx.qxi_cb.PARTICIPANT_JOINED || {}
271
+function yt_remove(){
272
+	glob_dbg.svm.onSharedVideoStop(glob_dbg.svm.from)
273
+}
274
+
275
+
201
 
276
 
277
+function identical(array) {
278
+    for(var i = 0; i < array.length - 1; i++) {
279
+        if(array[i] !== array[i+1]) {
280
+            return false;
281
+        }
282
+    }
283
+    return true;
284
+}
285
+
286
+
287
+
288
+function yt_conf_match(){
289
+	if (!glob_mx.flags.init_db){return}
290
+	var yt_id = glob_dbg.svc.id
291
+	var shared_by = glob_dbg.svm.from
292
+	if (msto.conference.yt && yt_id == msto.conference.yt.id && shared_by == msto.conference.yt.shared_by){
293
+		return true
294
+	} 
295
+	return false
296
+
297
+}
298
+
299
+
300
+function yt_rem1(){
301
+	var m
302
+	clog("yt_dbg yt_rem1")
303
+	m=yt_conf_match()
304
+	if (m){
305
+		if (msto.conference.yt.stopped){
306
+		yt_check_status("YR1")
307
+			setTimeout(yt_remove,100)
308
+			// yt_remove()
309
+		}
310
+	} else {
311
+		setTimeout(yt_rem2,250)
312
+	}
313
+}
314
+
315
+function yt_rem2(){
316
+	var m
317
+	m=yt_conf_match()
318
+	clog("yt_dbg2 yt_rem1")
319
+
320
+	if (m && !msto.conference.yt.stopped){
321
+		// if (msto.conference.yt.stopped){
322
+		// }
323
+	} else {
324
+		yt_check_status("YR2")
325
+			setTimeout(yt_remove,10)
326
+		// yt_remove()
327
+
328
+	}
329
+
330
+}
331
+
332
+function detect_stop(n){
333
+	try {
334
+		return yt_conf_match() && !msto.conference.yt.stopped
335
+	 // clog(yt_conf_match() && !msto.conference.yt.stopped)
336
+	} catch {
337
+		return "err"
338
+	}
339
+
340
+}
341
+function yt_check_status(n){
342
+
343
+
344
+	try {
345
+
346
+
347
+
348
+
349
+	var yt_id = glob_dbg.svc.id
350
+	var shared_by = glob_dbg.svm.from
351
+	var ret
352
+	var tdiff
353
+	ret = {
354
+		msto:jc(msto),
355
+		yt:jc(msto.conference.yt),
356
+		yt_dbg:jc(msto.my_data.yt_dbg),
357
+		yt_id,
358
+		shared_by,
359
+	}
360
+
361
+	try {
362
+	ret.A_conf_match = yt_conf_match()
363
+	ret.A_yt_stopped = !!msto.conference.yt.stopped
364
+	ret.A_detect_stop = detect_stop()
365
+	ret.tdiff = msto.my_data.yt_dbg.shared.now - msto.conference.yt.now 
366
+		// tdiff:
367
+	ret.ident_id = identical([yt_id,msto.conference.yt.id,msto.my_data.yt_dbg.shared.id])
368
+	ret.ident_from =  identical([shared_by,msto.conference.yt.shared_by,msto.my_data.yt_dbg.shared.shared_by])
369
+	// msto.conference.yt.stopped
370
+	// msto.participants["7d2b7157"]
371
+	} catch (err) {}
372
+	// shared_by
373
+
374
+		clog("yt_dbg yt_stat",n,ret)
375
+
376
+
377
+	// shared_by
378
+
379
+	// msto.conference.yt
380
+	// msto.my_data.yt_dbg
381
+		// clog("yt_dbg yt_stat err:",n,err)
382
+	
383
+	} catch (err) {
384
+		clog("yt_dbg yt_stat err:",n,err)
385
+	}
386
+	
387
+
388
+}
202
 function yt_left(o){
389
 function yt_left(o){
203
 	try {
390
 	try {
204
 
391
 
205
 		// clog("yt_dbg yt_left",{init_db:glob_mx.flags.init_db,o})
392
 		// clog("yt_dbg yt_left",{init_db:glob_mx.flags.init_db,o})
206
-		clog("yt_dbg yt_left",glob_mx.flags.init_db ? 1 : 0,o)
393
+		var now,shared_by,ytp,local
394
+		if (o.action.participant.id == msto.my_data.yt_dbg.shared.id && msto.my_data.yt_dbg.shared.id){
395
+			local = get_local() 
396
+			now = Date.now()
397
+			if (msto.my_data.yt_dbg.shared.shared_by == local.id) {
398
+				msto.conference.yt.stopped = 1
399
+			}
400
+			// delete msto.conference.yt
401
+			msto.my_data.yt_dbg.shared = {}
402
+			// delete msto.conference.yt
403
+			// shared_by = glob_dbg.svm.from
404
+		} else {
405
+
406
+		}
407
+
408
+
409
+		
410
+
411
+
412
+		clog("yt_dbg yt_left",glob_mx.flags.init_db ? 1 : 0,{svm:glob_dbg.svm,svc:glob_dbg.svc,o,participants:get_participants(),smallvids:get_smallvids()})
207
 		return
413
 		return
208
 	// clog("yt_dbg yt_left0")
414
 	// clog("yt_dbg yt_left0")
209
 	clog("yt_dbg yt_left",{that:this,args:[...arguments]})
415
 	clog("yt_dbg yt_left",{that:this,args:[...arguments]})
215
 
421
 
216
 }
422
 }
217
 function yt_join(o){
423
 function yt_join(o){
218
-	try {
424
+	try {		
425
+		var now,shared_by,ytp,local
426
+		if (o.action.participant.isFakeParticipant && o.action.participant.name == "YouTube"){
427
+			// glob_mx.flags.init_db ? 0 :  setTimeout(yt_check_status,250,o)
428
+			glob_mx.flags.init_db ? 0 :  setTimeout(yt_check_status,250,"no_msto t")
429
+			glob_mx.flags.init_db ? 0 :  glob_dbg.ytp_onload = 1
430
+
431
+			local = get_local() 
432
+			now = Date.now()
433
+			shared_by = glob_dbg.svm.from
434
+			ytp = {shared_by,now}
435
+			ytp.id = o.action.participant.id
436
+
437
+			if (glob_dbg.svm.from == local.id){
438
+				ytp.a = "LOCAL"
439
+				msto.conference.yt = {
440
+					id:ytp.id,
441
+					shared_by,
442
+					now,
443
+				}
444
+				// msto.my_data.yt_dbg
445
+			}
446
+			if (msto.conference.yt){
447
+				if (shared_by == msto.conference.yt.shared_by && ytp.id == msto.conference.yt.id && !msto.conference.yt.stopped){
448
+				ytp.ytc = 1
449
+
450
+				} else {
451
+					ytp.ytc = "?"
452
+					yt_check_status("inv")
453
+					setTimeout(yt_check_status,250,"inv t")
454
+				}
455
+			} else {
456
+					yt_check_status("ytc")
457
+					setTimeout(yt_check_status,250,"ytc t")
458
+				ytp.ytc = 0
459
+			}
219
 
460
 
220
-		// glob_mx.flags.init_db ? 1 : 0
221
-		clog("yt_dbg yt_join",glob_mx.flags.init_db ? 1 : 0,o)
222
-		// clog("yt_dbg yt_join",{init_db:glob_mx.flags.init_db,o})
461
+			msto.my_data.yt_dbg.shared = ytp
462
+
463
+
464
+		} else {
465
+
466
+		return
467
+			
468
+		}
469
+		clog("yt_dbg yt_join",glob_mx.flags.init_db ? 1 : 0,{svm:glob_dbg.svm,svc:glob_dbg.svc,o,participants:get_participants(),smallvids:get_smallvids()})
223
 		return
470
 		return
224
 		var local = get_local() 
471
 		var local = get_local() 
225
 		clog("yt_dbg J",o.action.participant,jc(o.action.participant))
472
 		clog("yt_dbg J",o.action.participant,jc(o.action.participant))
238
 
485
 
239
 	} catch (err){
486
 	} catch (err){
240
 
487
 
241
-		clog("yt_dbg yt_join ERR:",err)
488
+		clog("yt_dbg yt_join ERR:",glob_mx.flags,err)
242
 	}
489
 	}
243
 
490
 
244
 
491
 
249
 
496
 
250
 
497
 
251
 
498
 
252
-function mute_audio_helper(){
499
+function mute_audio_helper(n){
253
 	try {
500
 	try {
254
 	// setAudioMuted
501
 	// setAudioMuted
502
+	clog("yt_dbg yt_s",n)
255
 	disp(glob_react.media.setAudioMuted(1))
503
 	disp(glob_react.media.setAudioMuted(1))
256
 
504
 
257
 	} catch (err) {
505
 	} catch (err) {

Ładowanie…
Anuluj
Zapisz