From 35754f83c2fca43f8742df91153a14d006dffbc0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 28 May 2026 02:58:13 +0000 Subject: [PATCH 1/3] Initial plan From e12e3e13a7c120547f44d327133769fe17e82caa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 28 May 2026 03:02:25 +0000 Subject: [PATCH 2/3] fix: preserve default undecoded result --- lib/MessageDecoder.test.ts | 26 ++++++++++++++++++++++++++ lib/MessageDecoder.ts | 5 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/lib/MessageDecoder.test.ts b/lib/MessageDecoder.test.ts index a679ed3f..3788b4e8 100644 --- a/lib/MessageDecoder.test.ts +++ b/lib/MessageDecoder.test.ts @@ -61,4 +61,30 @@ describe('MessageDecoder', () => { expect(decodeResult.message.label).toBe('H1'); expect(decodeResult.formatted.items.length).toBe(5); }); + + test('preserves default fallback result when no plugin decodes', () => { + const message = { + label: '44', + text: 'GARBAGE TEXT THAT SHOULD NOT MATCH', + }; + + const decodeResult = decoder.decode(message); + + expect(decodeResult.decoded).toBe(false); + expect(decodeResult.error).toBe('No known decoder plugin for this message'); + expect(decodeResult.decoder).toEqual({ + name: 'none', + type: 'none', + decodeLevel: 'none', + }); + expect(decodeResult.message).toBe(message); + expect(decodeResult.remaining).toEqual({ + text: message.text, + }); + expect(decodeResult.raw).toEqual({}); + expect(decodeResult.formatted).toEqual({ + description: 'Not Decoded', + items: [], + }); + }); }); diff --git a/lib/MessageDecoder.ts b/lib/MessageDecoder.ts index b40f43af..999f9604 100644 --- a/lib/MessageDecoder.ts +++ b/lib/MessageDecoder.ts @@ -168,8 +168,9 @@ export class MessageDecoder { for (let i = 0; i < usablePlugins.length; i++) { const plugin = usablePlugins[i]; - result = plugin.decode(message, options); - if (result.decoded) { + const pluginResult = plugin.decode(message, options); + if (pluginResult.decoded) { + result = pluginResult; break; } } From 125669115b893cfb64667ecd853cc10539d875d6 Mon Sep 17 00:00:00 2001 From: Mark Bumiller Date: Sun, 7 Jun 2026 07:45:47 -0400 Subject: [PATCH 3/3] fix merge issue --- lib/MessageDecoder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/MessageDecoder.ts b/lib/MessageDecoder.ts index 5be4212e..811bf47a 100644 --- a/lib/MessageDecoder.ts +++ b/lib/MessageDecoder.ts @@ -196,7 +196,7 @@ export class MessageDecoder { continue; } const pluginResult = entry.plugin.decode(message, options); - if (result.decoded) { + if (pluginResult.decoded) { result = pluginResult; break; }