From 97e25ac32923085001af1e465bf3c50f9123ffe6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 24 Aug 2026 13:31:43 +0000 Subject: [PATCH 1/2] Initial plan From 82f019d6c4ae98b248f1e96d7b9d8bb62c9c225d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 24 Aug 2026 13:46:51 +0000 Subject: [PATCH 2/2] Extend Zstandard SmallestSize fallback to Apple mobile platforms Co-authored-by: rzikm <32671551+rzikm@users.noreply.github.com> --- .../Zstandard/CompressionStreamUnitTests.Zstandard.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.IO.Compression/tests/Zstandard/CompressionStreamUnitTests.Zstandard.cs b/src/libraries/System.IO.Compression/tests/Zstandard/CompressionStreamUnitTests.Zstandard.cs index 9c6c77f4f0b714..109574db7ef22c 100644 --- a/src/libraries/System.IO.Compression/tests/Zstandard/CompressionStreamUnitTests.Zstandard.cs +++ b/src/libraries/System.IO.Compression/tests/Zstandard/CompressionStreamUnitTests.Zstandard.cs @@ -17,11 +17,11 @@ public class ZstandardStreamUnitTests : CompressionStreamUnitTestBase public override Stream CreateStream(Stream stream, CompressionMode mode, bool leaveOpen) => new ZstandardStream(stream, mode, leaveOpen); public override Stream CreateStream(Stream stream, CompressionLevel level) { - if (PlatformDetection.Is32BitProcess && level == CompressionLevel.SmallestSize) + if ((PlatformDetection.Is32BitProcess || PlatformDetection.IsAppleMobile) && level == CompressionLevel.SmallestSize) { // Zstandard smallest size requires too much working memory // (800+ MB) and causes intermittent allocation errors on 32-bit - // processes in CI. + // processes and on memory-constrained Apple mobile devices (iOS/tvOS/MacCatalyst) in CI. level = CompressionLevel.Optimal; } @@ -29,11 +29,11 @@ public override Stream CreateStream(Stream stream, CompressionLevel level) } public override Stream CreateStream(Stream stream, CompressionLevel level, bool leaveOpen) { - if (PlatformDetection.Is32BitProcess && level == CompressionLevel.SmallestSize) + if ((PlatformDetection.Is32BitProcess || PlatformDetection.IsAppleMobile) && level == CompressionLevel.SmallestSize) { // Zstandard smallest size requires too much working memory // (800+ MB) and causes intermittent allocation errors on 32-bit - // processes in CI. + // processes and on memory-constrained Apple mobile devices (iOS/tvOS/MacCatalyst) in CI. level = CompressionLevel.Optimal; }