From 97a7384af7329d0f24b618f25ccd2e893de6a07f Mon Sep 17 00:00:00 2001 From: NigeParis Date: Tue, 6 Jan 2026 15:26:43 +0100 Subject: [PATCH] Added cmd @block to toggle block / un block user --- docker-compose.yml | 10 +++---- frontend/src/pages/chat/chat.ts | 28 +++++++++++++++++++ .../chat/chatHelperFunctions/broadcastMsg.ts | 4 ++- src/chat/src/app.ts | 2 ++ 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8a66590..2cd1d56 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -132,11 +132,11 @@ services: - JWT_SECRET=KRUGKIDROVUWG2ZAMJZG653OEBTG66BANJ2W24DTEBXXMZLSEB2GQZJANRQXU6JA - PROVIDER_FILE=/extra/providers.toml - SESSION_MANAGER=${SESSION_MANAGER} - logging: - driver: gelf - options: - gelf-address: "udp://127.0.0.1:12201" - tag: "{{.Name}}" + # logging: + # driver: gelf + # options: + # gelf-address: "udp://127.0.0.1:12201" + # tag: "{{.Name}}" ############### # PONG # diff --git a/frontend/src/pages/chat/chat.ts b/frontend/src/pages/chat/chat.ts index 9f4218e..3926674 100644 --- a/frontend/src/pages/chat/chat.ts +++ b/frontend/src/pages/chat/chat.ts @@ -14,9 +14,11 @@ import { openProfilePopup } from './chatHelperFunctions/openProfilePopup'; import { actionBtnPopUpBlock } from './chatHelperFunctions/actionBtnPopUpBlock'; import { windowStateHidden } from './chatHelperFunctions/windowStateHidden'; import type { blockedUnBlocked, obj } from './types_front'; +import { blockUser } from './chatHelperFunctions/blockUser'; const MAX_SYSTEM_MESSAGES = 10; let inviteMsgFlag: boolean = false; +export let noGuestFlag: boolean = false; const machineHostName = window.location.hostname; export let __socket: Socket | undefined = undefined; @@ -389,6 +391,7 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn // Send button sendButton?.addEventListener("click", () => { const notify = document.getElementById("notify") ?? null; + const noGuest = document.getElementById("guestMsg") ?? null; if (sendtextbox && sendtextbox.value.trim()) { let msgText: string = sendtextbox.value.trim(); const msgCommand = parseCmdMsg(msgText) ?? ""; @@ -398,6 +401,30 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn case '@msg': broadcastMsg(socket, msgCommand); break; + case '@block': + if (msgCommand[1] === '') {break;}; + const userAskingToBlock = getUser()?.name; + if (!userAskingToBlock) return; + const userID1 = getUser()?.id; + if (!userID1) return; + const userToBlock: ClientProfil = { + command: msgCommand[0], + destination: '', + type: 'chat', + user: msgCommand[1], + loginName: '', + userID: userID1, + text: '', + timestamp: Date.now(), + SenderWindowID: '', + SenderName: userAskingToBlock, + SenderID: '', + Sendertext: '', + innerHtml: '', + } + blockUser(userToBlock, socket); + break; + case '@notify': if (notify === null) {break;}; if (inviteMsgFlag === false) { @@ -420,6 +447,7 @@ function handleChat(_url: string, _args: RouteHandlerParams): RouteHandlerReturn addMessage('** ********** List of @cmds ********** **'); addMessage('\'@cls\' - clear chat screen conversations'); addMessage('\'@profile \' - pulls ups user profile'); + addMessage('\'@block \' - blocks / unblock user'); addMessage('\'@notify\' - toggles notifications on / off'); addMessage('\'@quit\' - disconnect user from the chat'); addMessage('** *********************************** **'); diff --git a/frontend/src/pages/chat/chatHelperFunctions/broadcastMsg.ts b/frontend/src/pages/chat/chatHelperFunctions/broadcastMsg.ts index c6f800f..788b577 100644 --- a/frontend/src/pages/chat/chatHelperFunctions/broadcastMsg.ts +++ b/frontend/src/pages/chat/chatHelperFunctions/broadcastMsg.ts @@ -2,6 +2,7 @@ import { addMessage } from "./addMessage"; import { Socket } from 'socket.io-client'; import { getUser } from "@app/auth"; import type { ClientMessage } from "../types_front"; +import { noGuestFlag } from "../chat"; /** * function sends socket.emit to the backend to active and broadcast a message to all sockets * echos the message with addMessage to the sender @@ -9,7 +10,8 @@ import type { ClientMessage } from "../types_front"; * @param msgCommand */ export function broadcastMsg (socket: Socket, msgCommand: string[]): void { - let msgText = msgCommand[1] ?? ""; + let msgText = msgCommand[1] ?? ""; + let dest = ''; addMessage(msgText); const user = getUser(); if (user && socket?.connected) { diff --git a/src/chat/src/app.ts b/src/chat/src/app.ts index 32b9263..98b4399 100644 --- a/src/chat/src/app.ts +++ b/src/chat/src/app.ts @@ -374,6 +374,8 @@ async function onReady(fastify: FastifyInstance) { } } }); + + socket.on('client_entered', (data) => { // data may be undefined (when frontend calls emit with no payload)