From bfc9af69d04239cedae551d1ffbef8de8973b174 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sun, 9 Feb 2025 18:04:55 +0100 Subject: [PATCH] Fix URL clicking in chat. --- api/src/main/java/com/alttd/chat/util/Utility.java | 4 ++++ .../src/main/java/com/alttd/chat/listeners/ChatListener.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/com/alttd/chat/util/Utility.java b/api/src/main/java/com/alttd/chat/util/Utility.java index acea72d..3843979 100755 --- a/api/src/main/java/com/alttd/chat/util/Utility.java +++ b/api/src/main/java/com/alttd/chat/util/Utility.java @@ -23,6 +23,7 @@ public class Utility { private static final List EMPTY_LIST = new ArrayList<>(); static final Pattern DEFAULT_URL_PATTERN = Pattern.compile("(?:(https?)://)?([-\\w_.]+\\.\\w{2,})(/\\S*)?"); + static final Pattern URL_SCHEME_PATTERN = Pattern.compile("^[a-z][a-z0-9+\\-.]*:"); private static MiniMessage miniMessage = null; @@ -307,6 +308,9 @@ public class Utility { String url = matcher.group(); String clickUrl = url; String urlFormat = Config.URLFORMAT; +// if (!URL_SCHEME_PATTERN.matcher(clickUrl).find()) { +// clickUrl = "http://" + clickUrl; +// } message = message.replace(url, urlFormat.replaceAll("", url).replaceAll("", clickUrl)); } return message; diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java index d803685..9c45e1c 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -198,7 +198,7 @@ public class ChatListener implements Listener { }); MiniMessage miniMessage = MiniMessage.builder().tags(tagResolver.build()).build(); - Component component = miniMessage.deserialize(rawMessage); + Component component = miniMessage.deserialize(Utility.formatText(rawMessage)); for(ChatFilter chatFilter : RegexManager.getEmoteFilters()) { component = component.replaceText( TextReplacementConfig.builder()