Skip to content

Commit 3d2d0cc

Browse files
author
Avaer Kazmer
committed
Add new RTC channel types
1 parent ec06539 commit 3d2d0cc

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

app.html

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@
469469
let rtcWs = null;
470470
const connectionId = _randomString();
471471
const peerConnections = [];
472-
const _rtcConnect = (userName, channelName) => {
472+
const _rtcConnect = (type, userName, channelName) => {
473473
rtcWs = new WebSocket(`${LAMBDA_URLS.presenceWs}?u=${encodeURIComponent(userName)}&c=${encodeURIComponent(channelName)}`);
474474
rtcWs.onopen = () => {
475475
// console.log('presence socket open');
@@ -578,7 +578,11 @@
578578
} else if (method === 'initState') {
579579
const {state} = data;
580580
const htmlString = parse5.serialize(state);
581-
root.setHTML(htmlString);
581+
if (type === 'channel') {
582+
root.setHTML(htmlString);
583+
} else {
584+
console.log('load channel', htmlString);
585+
}
582586
} else if (method === 'editState') {
583587
const {spec} = data;
584588
const {method, keyPath, key, value, values} = spec;
@@ -620,13 +624,12 @@
620624
rtcWs.onclose = () => {
621625
clearInterval(pingInterval);
622626
console.log('rtc closed');
623-
// setTimeout(_rtcConnect, 5000);
624627
};
625628
rtcWs.onerror = err => {
626629
console.warn('rtc error', err);
627630
clearInterval(pingInterval);
628-
// setTimeout(_rtcConnect, 5000);
629631
};
632+
rtcWs.type = type;
630633
rtcWs.userName = userName;
631634
rtcWs.channelName = channelName;
632635
rtcWs.pushScene = () => {
@@ -691,7 +694,7 @@
691694
}
692695
case 'joinChannel': {
693696
const {userName, channelName} = data;
694-
_rtcConnect(userName, channelName);
697+
_rtcConnect('channel', loginToken.name, `${userName}/${channelName}`);
695698
break;
696699
}
697700
}
@@ -4247,7 +4250,7 @@
42474250
_disconnectLand();
42484251
const userName = loginToken.name || namegen(2).join('-'); // XXX
42494252
const channelName = namegen(1)[0];
4250-
_rtcConnect(userName, channelName);
4253+
_rtcConnect('channel', loginToken.name, `${userName}/${channelName}`);
42514254
if (!channels.some(channel => channel.user === userName && channel.channel === channelName)) {
42524255
channels.push({
42534256
user: userName,
@@ -4258,6 +4261,9 @@
42584261
} else if (id === 'channel-global') {
42594262
_rtcDisconnect();
42604263
root.innerHTML = '';
4264+
4265+
_rtcConnect('land', loginToken.name, 'land');
4266+
42614267
const p = _connectLand();
42624268
_updateTextureDynamic();
42634269
await p;
@@ -4290,7 +4296,7 @@
42904296
const channelName = match[3];
42914297
if (!match[1]) {
42924298
_rtcDisconnect();
4293-
_rtcConnect(userName, channelName);
4299+
_rtcConnect('channel', loginToken.name, `${userName}/${channelName}`);
42944300
_updateTextureDynamic();
42954301
} else if (match[1] === '-copy-join') {
42964302
const u = new URL(window.location.href);

0 commit comments

Comments
 (0)