diff --git a/client/App.ts b/client/App.ts deleted file mode 100644 index 71f980b..0000000 --- a/client/App.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - BareClient, - registerRemoteListener, - setBareClientImplementation, -} from "bare-client-custom"; -import { RTCTransport } from "./RTCTransport"; -//import "./firebase"; - - -import { AdriftBareClient } from "./AdriftClient"; -import Connection from "./Connection"; -import { DevWsTransport } from "./DevWsTransport"; - -const rtcEnable = false; - -let rtc; -let connection; -if (rtcEnable) { - rtc = new RTCTransport( - console.log, - () => { - // rtc.dataChannel.send("test message"); - // let client = new AdriftBareClient; - // setBareClientImplementation(client); - // - }, - console.log, - console.log, - console.log - ); - connection = new Connection(rtc); -} else { - connection = new Connection( - new DevWsTransport( - () => console.log("onopen"), - () => console.log("onclose") - ) - ); -} - -window["co"] = connection; -// connection.httprequest({ a: 1, b: 2 }); - -let bare = new AdriftBareClient(connection); -setBareClientImplementation(bare); -registerRemoteListener(); - -// if (import.meta.env.VITE_APP_ENV === 'development') { - - // if (rtcEnable) { - // let offer = await this.rtc.createOffer(); - // console.log("offer created", offer); - // console.log(JSON.stringify(offer)); - // - // const r = await fetch("http://localhost:3000/connect", { - // method: "POST", - // headers: { "Content-Type": "application/json" }, - // body: JSON.stringify(offer), - // }); - // if (r.status != 200) { - // throw new Error("connect: " + r.status + " " + r.statusText); - // } - // const { answer, candidates } = await r.json(); - // await this.rtc.answer(answer, candidates); - // alert("connected"); - // } else { - // window["bare"].fetch("https://httpbin.org/get"); - // } - // diff --git a/client/firebase.ts b/client/firebase.ts index 34be678..80bc660 100644 --- a/client/firebase.ts +++ b/client/firebase.ts @@ -1,6 +1,7 @@ import "../firebase-config"; import { getDatabase, ref, onValue, set } from "firebase/database"; + const db = getDatabase(); console.log(db); let reff = ref(db, "/peers/demo"); diff --git a/firebase-config.ts b/firebase-config.ts index cc0db0e..6872ae1 100644 --- a/firebase-config.ts +++ b/firebase-config.ts @@ -16,7 +16,10 @@ const firebaseConfig = { messagingSenderId: "175846512414", appId: "1:175846512414:web:5c6e06d231ab58e9029b0f", measurementId: "G-L0P2EF6Q72" + }; +console.warn("firebase is initializing"); + // Initialize Firebase export const app = initializeApp(firebaseConfig); export const auth = getAuth(app); diff --git a/frontend/App.svelte b/frontend/App.svelte index 19cba40..7d44339 100644 --- a/frontend/App.svelte +++ b/frontend/App.svelte @@ -4,11 +4,15 @@ import { DevWsTransport } from "../client/DevWsTransport"; import { RTCTransport } from "../client/RTCTransport"; import type Transport from "../client/Transport"; + // note: even though we import firebase, due to the tree shaking, it will only run if we use "auth" so if ADRIFT_DEV is set it won't import + import { auth } from "../firebase-config"; import { BareClient, registerRemoteListener, setBareClientImplementation, } from "bare-client-custom"; + import { signInWithEmailAndPassword } from "firebase/auth"; + import { getDatabase, onValue, ref, set } from "firebase/database"; let transport: Transport; @@ -50,6 +54,38 @@ console.log("registering bare-client-custom"); registerRemoteListener(); } + async function connectFirebase() { + if (!rtctransport) return; + + let creds = await signInWithEmailAndPassword( + auth, + "test@test.com", + "123456" + ); + + const db = getDatabase(); + let peer = ref(db, `/peers/${creds.user.uid}`); + + let offer = await rtctransport.createOffer(); + + set(peer, JSON.stringify(offer)); + + onValue(peer, (snapshot) => { + const data = snapshot.val(); + console.log(data); + if (data && data.answer && data.candidates) { + set(peer, null); + const { answer, candidates } = JSON.parse(data); + rtctransport?.answer(answer, candidates); + } + }); + } -

testa

+

+ {#if !import.meta.env.VITE_ADRIFT_DEV} + + {:else} + connected to dev server + {/if} +