From 517d190aa13c9f89d9eb3c83405abe97d7dc803f Mon Sep 17 00:00:00 2001 From: CoolElectronics Date: Mon, 14 Aug 2023 21:41:05 -0400 Subject: [PATCH] tracker + swarm combination works --- client/src/RTCTransport.ts | 1 + client/src/SignalFirebase.ts | 5 +++-- frontend/src/App.svelte | 6 ++++-- tracker/src/main.ts | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/client/src/RTCTransport.ts b/client/src/RTCTransport.ts index fd0f584..9b714ce 100644 --- a/client/src/RTCTransport.ts +++ b/client/src/RTCTransport.ts @@ -10,6 +10,7 @@ const rtcConf = { export type Offer = { offer: any; localCandidates: any }; +export type Answer = { answer: any; candidates: any }; export class RTCTransport extends Transport { diff --git a/client/src/SignalFirebase.ts b/client/src/SignalFirebase.ts index fce2871..b4944cb 100644 --- a/client/src/SignalFirebase.ts +++ b/client/src/SignalFirebase.ts @@ -2,10 +2,10 @@ import { getDatabase, onValue, ref, set, remove } from "firebase/database"; // import "firebase-config"; import { v4 as uuid } from "uuid"; -import { Offer } from "./RTCTransport"; +import { Answer } from "./RTCTransport"; -export async function signalSwarm(offer: string): Promise { +export async function signalSwarm(offer: string): Promise { let id = uuid(); const db = getDatabase(); let reff = ref(db, `/swarm/${id}`); @@ -25,6 +25,7 @@ export async function signalSwarm(offer: string): Promise { if (!text) return; let data = JSON.parse(text); + console.log(data); if (data.error) { reject(new Error(data.error)); diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 3f7c169..9050778 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -121,8 +121,10 @@ async function connectSwarm() { rtctransport = transport = createRTCTransport(); - // let offer = await rtctransport.createOffer(); - await SignalFirebase.signalSwarm("test"); + let offer = await rtctransport.createOffer(); + let answer = await SignalFirebase.signalSwarm(JSON.stringify(offer)); + + rtctransport.answer(answer.answer, answer.candidates); } async function connectDevHttp() { diff --git a/tracker/src/main.ts b/tracker/src/main.ts index 9686915..0e07af3 100644 --- a/tracker/src/main.ts +++ b/tracker/src/main.ts @@ -55,6 +55,7 @@ reff.on("value", snapshot => { let selectedmember = members[Math.floor(Math.random() * members.length)]; selectedmember.once("message", (answer) => { + console.log("setting answer" + answer); db.ref(`/swarm/${key}`).set(answer); }); selectedmember.send(offer);