From 31883c6235d7163fa5c34374efc3c435c6b3bdd4 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Thu, 25 Mar 2021 11:00:29 +0700 Subject: [PATCH] fix(android/engine): Sanitize embedded KMW Sentry error --- .../app/src/main/java/com/tavultesoft/kmea/KMKeyboard.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboard.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboard.java index d17acc248f..722171f8f5 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboard.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboard.java @@ -156,7 +156,10 @@ final class KMKeyboard extends WebView { if ((cm.messageLevel() == ConsoleMessage.MessageLevel.ERROR) && (!cm.message().startsWith("No keyboard stubs exist"))) { // Make Toast notification of error and send log about falling back to default keyboard (ignore language ID) - sendKMWError(cm.lineNumber(), cm.sourceId(), cm.message()); + // Sanitize sourceId info + String NAVIGATION_PATTERN = "^(.*)?(keyboard\\.html#[^-]+)-.*$"; + String sourceID = cm.sourceId().replaceAll(NAVIGATION_PATTERN, "$1$2"); + sendKMWError(cm.lineNumber(), sourceID, cm.message()); sendError(packageID, keyboardID, ""); Keyboard firstKeyboard = KeyboardController.getInstance().getKeyboardInfo(0); if (firstKeyboard != null) {