From 988efb45b13470a303e10fab9ecacc41c466756e Mon Sep 17 00:00:00 2001 From: Ken Loeffler Date: Fri, 29 May 2026 10:45:08 -0700 Subject: [PATCH] Use lossy conversion for msgpack UInt64 decode in plugin (#1255) --- plugin/http/init.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugin/http/init.lua b/plugin/http/init.lua index 106ebc45..3d05c6d3 100644 --- a/plugin/http/init.lua +++ b/plugin/http/init.lua @@ -14,6 +14,13 @@ local Http = {} Http.Error = HttpError Http.Response = HttpResponse +-- Monkey patch msgpack.UInt64.new to lossily convert the low and high bits of the integer +-- to a native Luau number. We should change the upstream decoder to emit a native +-- integer, once those are live. +function msgpack.UInt64.new(mostSignificantPart: number, leastSignificantPart: number): number + return (mostSignificantPart % 2 ^ 32) * 2 ^ 32 + (leastSignificantPart % 2 ^ 32) +end + local function performRequest(requestParams) local requestId = lastRequestId + 1 lastRequestId = requestId