create-fuzionx 0.1.52 → 0.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-fuzionx",
3
- "version": "0.1.52",
3
+ "version": "0.1.53",
4
4
  "description": "Create a new FuzionX application — npx create-fuzionx my-app",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,8 +9,8 @@
9
9
  "test": "vitest run"
10
10
  },
11
11
  "dependencies": {
12
- "@fuzionx/framework": "^0.1.52",
13
- "@fuzionx/client": "^0.1.52",
12
+ "@fuzionx/framework": "^0.1.53",
13
+ "@fuzionx/client": "^0.1.53",
14
14
  "joi": "^18.1.1"
15
15
  },
16
16
  "devDependencies": {
@@ -4,7 +4,7 @@
4
4
  "description": "Vue.js 3 SPA + Tera SSR 하이브리드. WASM 암호화 통신.",
5
5
  "features": ["auth", "board", "i18n", "asp", "wasm"],
6
6
  "dependencies": {
7
- "@fuzionx/client": "^0.1.52"
7
+ "@fuzionx/client": "^0.1.53"
8
8
  },
9
9
  "devDependencies": {},
10
10
  "spaDevDependencies": {
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview"
10
10
  },
11
11
  "dependencies": {
12
- "@fuzionx/player": "^0.1.52",
12
+ "@fuzionx/player": "^0.1.53",
13
13
  "pinia": "^3.0.4",
14
14
  "vue": "^3.5.0",
15
15
  "vue-router": "^4.5.0"
@@ -252,6 +252,16 @@ async function joinAsPublisher() {
252
252
 
253
253
  connection.on('slot', (slot) => {
254
254
  slotLabels.value = { ...slotLabels.value, [slot.slotIndex]: slot.nickname };
255
+ // 슬롯 재할당 시 srcObject 복구
256
+ if (slot.stream) {
257
+ nextTick(() => {
258
+ const videoEl = slotRefs[slot.slotIndex];
259
+ if (videoEl && !videoEl.srcObject) {
260
+ videoEl.srcObject = slot.stream;
261
+ videoEl.play().catch(() => {});
262
+ }
263
+ });
264
+ }
255
265
  });
256
266
 
257
267
  connection.on('slot_remove', ({ slotIndex }) => {
@@ -311,6 +321,16 @@ async function joinAsViewer() {
311
321
 
312
322
  connection.on('slot', (slot) => {
313
323
  slotLabels.value = { ...slotLabels.value, [slot.slotIndex]: slot.nickname };
324
+ // 슬롯 재할당 시 srcObject 복구
325
+ if (slot.stream) {
326
+ nextTick(() => {
327
+ const videoEl = slotRefs[slot.slotIndex];
328
+ if (videoEl && !videoEl.srcObject) {
329
+ videoEl.srcObject = slot.stream;
330
+ videoEl.play().catch(() => {});
331
+ }
332
+ });
333
+ }
314
334
  });
315
335
 
316
336
  connection.on('slot_remove', ({ slotIndex }) => {