From b59405eec0d03b5b56f21f42d5163560a37110fa Mon Sep 17 00:00:00 2001 From: Sander de Groot Date: Wed, 24 Jul 2019 14:01:47 -0500 Subject: [PATCH] chat filter: fix filtering messages containing nbsp The chat history plugin replays messages by replacing spaces with nbsp to avoid triggering notifications and chat commands, and this was preventing the chat filter from filtering replayed messages. censorMessage already does a nbsp to space replacement. --- .../plugins/chatfilter/JagexPrintableCharMatcher.java | 2 +- .../plugins/chatfilter/ChatFilterPluginTest.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/JagexPrintableCharMatcher.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/JagexPrintableCharMatcher.java index 53b76cbc19..72591d71f0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/JagexPrintableCharMatcher.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/JagexPrintableCharMatcher.java @@ -34,6 +34,6 @@ class JagexPrintableCharMatcher extends CharMatcher // Characters which are printable return (c >= 32 && c <= 126) || c == 128 - || (c >= 161 && c <= 255); + || (c >= 160 && c <= 255); } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java index a12a8b257b..d4b528b4c2 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java @@ -120,6 +120,16 @@ public class ChatFilterPluginTest assertNull(chatFilterPlugin.censorMessage("te\u008Cst")); } + @Test + public void testReplayedMessage() + { + when(chatFilterConfig.filterType()).thenReturn(ChatFilterType.REMOVE_MESSAGE); + when(chatFilterConfig.filteredWords()).thenReturn("hello osrs"); + + chatFilterPlugin.updateFilteredPatterns(); + assertNull(chatFilterPlugin.censorMessage("hello\u00A0osrs")); + } + @Test public void testMessageFromFriendIsFiltered() {