From 5fc83668853b164f5d08dcdc020afd67dbbf0fec Mon Sep 17 00:00:00 2001 From: ISenseAura Date: Tue, 9 Dec 2025 15:52:09 +0530 Subject: [PATCH 1/3] Preact: properly extract targetRoomId from roomId in UserOptionsPanel --- play.pokemonshowdown.com/src/panel-popups.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/play.pokemonshowdown.com/src/panel-popups.tsx b/play.pokemonshowdown.com/src/panel-popups.tsx index b6f171675ba..18162627459 100644 --- a/play.pokemonshowdown.com/src/panel-popups.tsx +++ b/play.pokemonshowdown.com/src/panel-popups.tsx @@ -230,7 +230,8 @@ class UserOptionsPanel extends PSRoomPanel { data?: Record, }; getTargets() { - const [, targetUser, targetRoomid] = this.props.room.id.split('-'); + const [, targetUser, ...rest] = this.props.room.id.split('-'); + const targetRoomid = rest.join('-'); let targetRoom = (PS.rooms[targetRoomid] || null) as ChatRoom | null; if (targetRoom?.type !== 'chat') targetRoom = targetRoom?.getParent() as ChatRoom; if (targetRoom?.type !== 'chat') targetRoom = targetRoom?.getParent() as ChatRoom; @@ -292,6 +293,8 @@ class UserOptionsPanel extends PSRoomPanel { handleIgnore = () => { const { targetUser, targetRoom } = this.getTargets(); + console.log("test"); + console.log(targetRoom); targetRoom?.send(`/ignore ${targetUser}`); this.close(); }; From 24e3f2acf91e6834eccb7ee8bd99d37d33aada8b Mon Sep 17 00:00:00 2001 From: ISenseAura Date: Thu, 11 Dec 2025 13:18:34 +0530 Subject: [PATCH 2/3] remove unnecessary console.log --- play.pokemonshowdown.com/src/panel-popups.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/play.pokemonshowdown.com/src/panel-popups.tsx b/play.pokemonshowdown.com/src/panel-popups.tsx index 18162627459..dd7d394f671 100644 --- a/play.pokemonshowdown.com/src/panel-popups.tsx +++ b/play.pokemonshowdown.com/src/panel-popups.tsx @@ -293,8 +293,6 @@ class UserOptionsPanel extends PSRoomPanel { handleIgnore = () => { const { targetUser, targetRoom } = this.getTargets(); - console.log("test"); - console.log(targetRoom); targetRoom?.send(`/ignore ${targetUser}`); this.close(); }; From b89cfc3f6bf048780020a893a9ad56d73f18c606 Mon Sep 17 00:00:00 2001 From: Guangcong Luo Date: Sun, 15 Mar 2026 01:39:04 -0700 Subject: [PATCH 3/3] Use PSUtils.splitFirst --- play.pokemonshowdown.com/src/panel-popups.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/play.pokemonshowdown.com/src/panel-popups.tsx b/play.pokemonshowdown.com/src/panel-popups.tsx index dd7d394f671..fc609cb20d0 100644 --- a/play.pokemonshowdown.com/src/panel-popups.tsx +++ b/play.pokemonshowdown.com/src/panel-popups.tsx @@ -1,5 +1,5 @@ import preact from "../js/lib/preact"; -import { toID, toRoomid, toUserid, Dex } from "./battle-dex"; +import { toID, toRoomid, toUserid, Dex, PSUtils } from "./battle-dex"; import type { ID } from "./battle-dex-data"; import { BattleLog } from "./battle-log"; import { PSLoginServer } from "./client-connection"; @@ -230,8 +230,7 @@ class UserOptionsPanel extends PSRoomPanel { data?: Record, }; getTargets() { - const [, targetUser, ...rest] = this.props.room.id.split('-'); - const targetRoomid = rest.join('-'); + const [, targetUser, targetRoomid] = PSUtils.splitFirst(this.props.room.id, '-', 2); let targetRoom = (PS.rooms[targetRoomid] || null) as ChatRoom | null; if (targetRoom?.type !== 'chat') targetRoom = targetRoom?.getParent() as ChatRoom; if (targetRoom?.type !== 'chat') targetRoom = targetRoom?.getParent() as ChatRoom;