From 10c862de59a6b10bf7b4fe2cb0dc6e177c881432 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 27 Jul 2026 21:37:41 +0200 Subject: [PATCH] (fix): broken connections --- codec/src/data_value.rs | 14 +++++++++++++- package.json | 2 +- src/vite/index.ts | 6 +----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/codec/src/data_value.rs b/codec/src/data_value.rs index d4c53e5..21ab0f7 100644 --- a/codec/src/data_value.rs +++ b/codec/src/data_value.rs @@ -289,7 +289,7 @@ impl DataValue { pub fn as_number(&self) -> Option { match self { DataValue::SignedNumber(n) => Some(*n), - DataValue::UnsignedNumber(n) => Some(*n as i128), + DataValue::UnsignedNumber(n) => i128::try_from(*n).ok(), _ => None, } } @@ -1232,6 +1232,18 @@ mod tests { Ok(()) } + #[test] + fn unsigned_number_conversion_rejects_i128_overflow() { + assert_eq!( + DataValue::UnsignedNumber(i128::MAX as u128).as_number(), + Some(i128::MAX) + ); + assert_eq!( + DataValue::UnsignedNumber(i128::MAX as u128 + 1).as_number(), + None + ); + } + #[test] fn test_empty_container_and_array_have_distinct_framing() { let container = DataValue::Container(vec![]) diff --git a/package.json b/package.json index 99c4db2..4d24717 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mtp", - "version": "0.2.0", + "version": "0.2.1", "description": "MTP TypeScript SDK", "type": "module", "packageManager": "pnpm@11.8.0", diff --git a/src/vite/index.ts b/src/vite/index.ts index 0653c8e..f8f34b5 100644 --- a/src/vite/index.ts +++ b/src/vite/index.ts @@ -450,11 +450,7 @@ export function mtp(options: MTPVitePluginOptions): VitePlugin { rebuildTimer = null; void (async () => { try { - await buildIfNeeded(state, true); - server.moduleGraph.invalidateAll(); - if (server.ws) { - server.ws.send({ type: "full-reload" }); - } + await server.restart(); } catch (error) { server.config.logger.error( error instanceof Error ? error.message : String(error),