Fix "this" being undefined

This commit is contained in:
2025-10-05 20:11:28 +03:00
Unverified
parent 85e6318787
commit e3e4c90d75
2 changed files with 5 additions and 4 deletions
@@ -4,7 +4,7 @@ import { MessagePanel, type MessagePanelState } from "../../panels/MessagePanel"
import { ChatMessages } from "./ChatMessages"; import { ChatMessages } from "./ChatMessages";
import { ChatInputWrapper } from "./ChatInputWrapper"; import { ChatInputWrapper } from "./ChatInputWrapper";
import { setGlobalMessageHandler } from "../../../core/websocket"; import { setGlobalMessageHandler } from "../../../core/websocket";
import type { Message } from "../../../core/types"; import type { Message, WebSocketMessage } from "../../../core/types";
import defaultAvatar from "../../../resources/images/default-avatar.png"; import defaultAvatar from "../../../resources/images/default-avatar.png";
import AnimatedOpacity from "../core/animations/AnimatedOpacity"; import AnimatedOpacity from "../core/animations/AnimatedOpacity";
import type { DMPanel } from "../../panels/DMPanel"; import type { DMPanel } from "../../panels/DMPanel";
@@ -65,7 +65,7 @@ export function MessagePanelRenderer({ panel }: MessagePanelRendererProps) {
// Set up WebSocket message handler for this panel // Set up WebSocket message handler for this panel
if (panel.handleWebSocketMessage) { if (panel.handleWebSocketMessage) {
setGlobalMessageHandler(panel.handleWebSocketMessage); setGlobalMessageHandler((message: WebSocketMessage<any>) => panel.handleWebSocketMessage(message));
} }
} else { } else {
setPanelState(null); setPanelState(null);
+3 -2
View File
@@ -198,7 +198,7 @@ export function useDM() {
// WebSocket message handler // WebSocket message handler
useEffect(() => { useEffect(() => {
const handleWebSocketMessage = async (e: MessageEvent) => { async function handleWebSocketMessage(e: MessageEvent) {
try { try {
const msg = JSON.parse(e.data); const msg = JSON.parse(e.data);
if (msg.type === "dmNew") { if (msg.type === "dmNew") {
@@ -258,9 +258,10 @@ export function useDM() {
} catch (error) { } catch (error) {
console.error("Failed to handle WebSocket message:", error); console.error("Failed to handle WebSocket message:", error);
} }
}; }
websocket.addEventListener("message", handleWebSocketMessage); websocket.addEventListener("message", handleWebSocketMessage);
return () => websocket.removeEventListener("message", handleWebSocketMessage); return () => websocket.removeEventListener("message", handleWebSocketMessage);
}, [chat.activeDm, user.currentUser, addMessage]); }, [chat.activeDm, user.currentUser, addMessage]);