From 1ae05f0a928ccbef478edd79543d0b4d536e303c Mon Sep 17 00:00:00 2001 From: Kirill Vorobyov Date: Wed, 26 Aug 2026 11:06:00 +0300 Subject: [PATCH 1/2] fix: add handle null to HeartbeatConverter --- .../Json/Converters/Internal/HeartbeatConverter.cs | 3 +++ .../Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json diff --git a/Backend/Remora.Discord.API/Json/Converters/Internal/HeartbeatConverter.cs b/Backend/Remora.Discord.API/Json/Converters/Internal/HeartbeatConverter.cs index db6823d553..5f50881456 100644 --- a/Backend/Remora.Discord.API/Json/Converters/Internal/HeartbeatConverter.cs +++ b/Backend/Remora.Discord.API/Json/Converters/Internal/HeartbeatConverter.cs @@ -31,6 +31,9 @@ namespace Remora.Discord.API.Json; /// internal class HeartbeatConverter : JsonConverter { + /// + public override bool HandleNull => true; + /// public override IHeartbeat Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { diff --git a/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json b/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json new file mode 100644 index 0000000000..f3ba717bab --- /dev/null +++ b/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json @@ -0,0 +1,3 @@ +{ + "op": 1 +} From db056dd88ceb423bffd3482956c8fa301ba7d2a6 Mon Sep 17 00:00:00 2001 From: Kirill Vorobyov Date: Sat, 29 Aug 2026 10:24:40 +0300 Subject: [PATCH 2/2] internal: assume that playload as object is always required --- .../Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json b/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json index f3ba717bab..71341f77a4 100644 --- a/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json +++ b/Tests/Remora.Discord.Tests/Samples/Gateway/Bidirectional/HEARTBEAT/HEARTBEAT.nulls.json @@ -1,3 +1,4 @@ { - "op": 1 + "op": 1, + "d": null }