From 27942dc828e84625a66decc3d10ead04268f8c9b Mon Sep 17 00:00:00 2001 From: sadan <117494111+sadan4@users.noreply.github.com> Date: Thu, 22 Aug 2024 01:43:39 -0400 Subject: [PATCH] fix reporter data not being serializable --- src/plugins/devCompanion.dev/initWs.tsx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/plugins/devCompanion.dev/initWs.tsx b/src/plugins/devCompanion.dev/initWs.tsx index ca16ee16b..000c79b1f 100644 --- a/src/plugins/devCompanion.dev/initWs.tsx +++ b/src/plugins/devCompanion.dev/initWs.tsx @@ -6,6 +6,7 @@ import { showNotification } from "@api/Notifications"; import { canonicalizeMatch, canonicalizeReplace } from "@utils/patches"; +import { Patch } from "@utils/types"; import { filters, findAll, search, wreq } from "@webpack"; import { reporterData } from "debug/reporterData"; @@ -41,13 +42,30 @@ export function initWs(isManual = false) { }); // if we are running the reporter with companion integration, send the list to vscode as soon as we can if (IS_COMPANION_TEST) { + const toSend = reporterData; + for (const i in toSend.failedPatches) { + for (const j in toSend.failedPatches[i]) { + const patch: Patch = toSend.failedPatches[i][j]; + if (patch.find instanceof RegExp) + patch.find = String(patch.find); + if (!Array.isArray(patch.replacement)) + patch.replacement = [patch.replacement]; + patch.replacement = patch.replacement.map(v => { + return { + match: String(v.match), + replace: String(v.replace) + }; + }); + } + } replyData({ type: "report", - data: reporterData, + data: toSend, ok: true }); } + (settings.store.notifyOnAutoConnect || isManual) && showNotification({ title: "Dev Companion Connected", body: "Connected to WebSocket",