From 88ba30dcb35aac1373b809596d3e29f513fd0da6 Mon Sep 17 00:00:00 2001 From: h1divp <71522316+h1divp@users.noreply.github.com> Date: Fri, 6 Sep 2024 17:03:48 +0900 Subject: [PATCH 1/5] added similar file name in case of future accident --- server/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/server/.gitignore b/server/.gitignore index caf44477b..8a8fd0977 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -134,6 +134,7 @@ build # Private Key JSON firebase-secrets.json +firebase-secret.json # Other .env From f6329381fd73d6b91d29b040670970c0e2e2ceb8 Mon Sep 17 00:00:00 2001 From: h1divp <71522316+h1divp@users.noreply.github.com> Date: Fri, 6 Sep 2024 17:57:23 +0900 Subject: [PATCH 2/5] Added better logging for observer. Fixed invalid order attribute. Added new default env parameters for message retrival limiting. --- server/config_example.md | 1 + server/src/index.ts | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/server/config_example.md b/server/config_example.md index 8ffb34245..bf6ec58df 100644 --- a/server/config_example.md +++ b/server/config_example.md @@ -8,6 +8,7 @@ # Location message_outreach_radius = 100 # meters +message_retrival_limit = 300 # Misc express_port = 3001 diff --git a/server/src/index.ts b/server/src/index.ts index 330eb337f..0bd1bef43 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -23,6 +23,8 @@ const { createServer } = require("http"); const { Server } = require("socket.io"); const socket_port = process.env.socket_port; const express_port = process.env.express_port; +const message_outreach_radius = Number(process.env.message_outreach_radius); +const message_retrival_limit = Number(process.env.message_retrival_limit); const app = express(); // Middleware @@ -76,8 +78,8 @@ io.on("connection", async (socket: any) => { await toggleUserConnectionStatus(socket.id); const observer = messagesCollection - .order('lastUpdated', "desc") - .limit(0) + .orderBy('lastUpdated', "desc") + .limit(message_retrival_limit) .onSnapshot((querySnapshot) => { querySnapshot.docChanges().forEach((change) => { if (change.type === "added") { @@ -96,20 +98,19 @@ io.on("connection", async (socket: any) => { userLon ); - if (distance < 300) { - console.log("Message is within 300m of user"); + if (distance < message_outreach_radius) { + console.log(`Message is within ${message_outreach_radius} meters of the user ${socket.id}.`); socket.emit("message", change.doc.data()); } else { - console.log("Message is not within 300m of user"); + console.log(`Message is not within ${message_outreach_radius} meters to user ${socket.id}.`); } } }); - }); + }); socket.on("disconnect", () => { console.log(`[WS] User <${socket.id}> exited.`); deleteConnectedUserByUID(socket.id); - observer(); }); socket.on("ping", (ack) => { // The (ack) parameter stands for "acknowledgement." This function sends a message back to the originating socket. @@ -123,6 +124,9 @@ io.on("connection", async (socket: any) => { const messageCreated = await createMessage(message); if (!messageCreated) throw new Error("createMessage() failed."); if (ack) ack("message recieved"); + + + } catch (error) { console.error("[WS] Error sending message:", error.message); } From 349011daf4083710f4c23a2ccc43f75aceb191d5 Mon Sep 17 00:00:00 2001 From: h1divp <71522316+h1divp@users.noreply.github.com> Date: Fri, 6 Sep 2024 18:06:12 +0900 Subject: [PATCH 3/5] fixed whitespacing --- server/src/index.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/server/src/index.ts b/server/src/index.ts index 0bd1bef43..c81fb5986 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -123,10 +123,7 @@ io.on("connection", async (socket: any) => { try { const messageCreated = await createMessage(message); if (!messageCreated) throw new Error("createMessage() failed."); - if (ack) ack("message recieved"); - - - + if (ack) ack("message recieved"); } catch (error) { console.error("[WS] Error sending message:", error.message); } From dea05f578e162a96060be3e57f530255ad81329b Mon Sep 17 00:00:00 2001 From: h1divp <71522316+h1divp@users.noreply.github.com> Date: Fri, 6 Sep 2024 18:07:05 +0900 Subject: [PATCH 4/5] fixed wording --- server/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/index.ts b/server/src/index.ts index c81fb5986..19bc94c69 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -102,7 +102,7 @@ io.on("connection", async (socket: any) => { console.log(`Message is within ${message_outreach_radius} meters of the user ${socket.id}.`); socket.emit("message", change.doc.data()); } else { - console.log(`Message is not within ${message_outreach_radius} meters to user ${socket.id}.`); + console.log(`Message is not within ${message_outreach_radius} meters of the user ${socket.id}.`); } } }); From cf2151de6c823c237d1ed95e6525fe5ad9e2f73d Mon Sep 17 00:00:00 2001 From: h1divp <71522316+h1divp@users.noreply.github.com> Date: Sat, 7 Sep 2024 23:56:15 +0900 Subject: [PATCH 5/5] fixed observer limit --- server/config_example.md | 1 - server/src/index.ts | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/server/config_example.md b/server/config_example.md index bf6ec58df..8ffb34245 100644 --- a/server/config_example.md +++ b/server/config_example.md @@ -8,7 +8,6 @@ # Location message_outreach_radius = 100 # meters -message_retrival_limit = 300 # Misc express_port = 3001 diff --git a/server/src/index.ts b/server/src/index.ts index 19bc94c69..354b90f85 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -24,7 +24,6 @@ const { Server } = require("socket.io"); const socket_port = process.env.socket_port; const express_port = process.env.express_port; const message_outreach_radius = Number(process.env.message_outreach_radius); -const message_retrival_limit = Number(process.env.message_retrival_limit); const app = express(); // Middleware @@ -79,7 +78,7 @@ io.on("connection", async (socket: any) => { const observer = messagesCollection .orderBy('lastUpdated', "desc") - .limit(message_retrival_limit) + .limit(1) .onSnapshot((querySnapshot) => { querySnapshot.docChanges().forEach((change) => { if (change.type === "added") {