From 45b707f39db6818c3f1118bce1ec2ba87e4bcc8f Mon Sep 17 00:00:00 2001 From: bobbydigitales Date: Tue, 29 Apr 2025 01:10:03 -0700 Subject: [PATCH] Add peer disconnect event dispatch --- deno/ddln_server.ts | 5 +++-- src/PeerManager.ts | 2 ++ src/bootstrap_main.ts | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/deno/ddln_server.ts b/deno/ddln_server.ts index 8e9cf61..917f98e 100644 --- a/deno/ddln_server.ts +++ b/deno/ddln_server.ts @@ -200,9 +200,10 @@ interface PeerMessage { } function peerMessageHandler(m: PeerMessage, _socket: WebSocket) { + const time = Temporal.Now.zonedDateTimeISO(); - console.log(`pm:${m.message.type} f:${colorID(m.from)}:${m.from_peername}:${m.from_username} t:${colorID(m.to)}`) - + console.log(`[${time}]pm:${m.message.type} f:${colorID(m.from)}:${m.from_peername}:${m.from_username} t:${colorID(m.to)}`) + const toPeer = peerSockets.get(m.to); if (!toPeer) { console.log(`Couln't find peer ${m.to}`) diff --git a/src/PeerManager.ts b/src/PeerManager.ts index 69d733a..df49c69 100644 --- a/src/PeerManager.ts +++ b/src/PeerManager.ts @@ -314,6 +314,8 @@ export class PeerManager { this.bootstrapPeerConnection = null; } + this.dispatchEvent(PeerEventTypes.PEER_DISCONNECTED, {peerID:remotePeerID}); + } async disconnectFromPeer(remotePeerID: string) { diff --git a/src/bootstrap_main.ts b/src/bootstrap_main.ts index bc763a1..d584adb 100644 --- a/src/bootstrap_main.ts +++ b/src/bootstrap_main.ts @@ -38,10 +38,10 @@ Restruucture the app around the data. App/WS split is messy. Clean it up. // import * as ForceGraph3D from "3d-force-graph"; // import { openDatabase, getData, addData, addDataArray, clearData, deleteData, mergeDataArray, getAllData, checkPostIds, getAllIds, getPostsByIds } from "db"; -import { generateID } from "IDUtils"; -import { PeerManager } from "PeerManager"; +import { generateID } from "./IDUtils.js"; +import { PeerManager } from "./PeerManager.js"; -import {log, logID, renderLog, setLogVisibility} from "log" +import {log, logID, renderLog, setLogVisibility} from "./log.js" // import {PeerConnection} from "webRTC";