diff --git a/src/Cluckwork.Api/packages.lock.json b/src/Cluckwork.Api/packages.lock.json
index 5563afc5..e803bbfa 100644
--- a/src/Cluckwork.Api/packages.lock.json
+++ b/src/Cluckwork.Api/packages.lock.json
@@ -334,10 +334,10 @@
"OpenTelemetry.Api": "1.17.0"
}
},
- "Pipelines.Sockets.Unofficial": {
+ "RESPite": {
"type": "Transitive",
- "resolved": "2.2.16",
- "contentHash": "nonu9l0YrZH6krVYbskBjE7uG0VMAnvOQ9PU+RmzUsy+++vHkqzzCkHRoP877OiA3iRTxJyNDLfpcU8hrJ3/YQ=="
+ "resolved": "3.1.13",
+ "contentHash": "wqViG+Dl4Ln/X33IyfmciyGirm1ET+M7kjwbb+oJAbDXLP2u2hX1eOnaEgyIAerJNSP98BytyddcW3ZQH55wgw=="
},
"Riok.Mapperly": {
"type": "Transitive",
@@ -401,11 +401,11 @@
},
"StackExchange.Redis": {
"type": "Transitive",
- "resolved": "2.13.17",
- "contentHash": "P7o7ZDBAmBrOLQEw8Pt44iIA08ioj48smRxn4Jp6yzCu6P3DOSU6lj7f+IOtN3pPvSgC9YufvM92ycukEEBCYQ==",
+ "resolved": "3.1.13",
+ "contentHash": "OvhFdV2ucee2hnN2v2EOcOTMvIzGsq1PX4kAbIYC8cax+MyabSa7Eu3hWY6D//SbxzZQ/eYFvD8Tvg+pK+969g==",
"dependencies": {
- "Pipelines.Sockets.Unofficial": "2.2.16",
- "System.IO.Hashing": "10.0.2"
+ "RESPite": "3.1.13",
+ "System.IO.Hashing": "10.0.5"
}
},
"System.CodeDom": {
@@ -472,8 +472,8 @@
},
"System.IO.Hashing": {
"type": "Transitive",
- "resolved": "10.0.2",
- "contentHash": "AKJknIFi9O3+rGExxTry188JPvUoZAPcCtS2qdqyFhIzsxQ1Ap94BeGDG0VzVEHakhmRxmJtVih6TsHoghIt/g=="
+ "resolved": "10.0.5",
+ "contentHash": "8IBJWcCT9+e4Bmevm4T7+fQEiAh133KGiz4oiVTgJckd3Q76OFdR1falgn9lpz7+C4HJvogCDJeAa2QmvbeVtg=="
},
"cluckwork.application": {
"type": "Project",
@@ -496,7 +496,7 @@
"Microsoft.EntityFrameworkCore": "[10.*, )",
"Npgsql.EntityFrameworkCore.PostgreSQL": "[10.*, )",
"Serilog.Extensions.Logging": "[10.*, )",
- "StackExchange.Redis": "[2.*, )",
+ "StackExchange.Redis": "[3.*, )",
"System.IdentityModel.Tokens.Jwt": "[8.*, )"
}
}
diff --git a/src/Cluckwork.Infrastructure/Cluckwork.Infrastructure.csproj b/src/Cluckwork.Infrastructure/Cluckwork.Infrastructure.csproj
index 4afe2bfa..ade89cc9 100644
--- a/src/Cluckwork.Infrastructure/Cluckwork.Infrastructure.csproj
+++ b/src/Cluckwork.Infrastructure/Cluckwork.Infrastructure.csproj
@@ -26,7 +26,7 @@
-
+
diff --git a/src/Cluckwork.Infrastructure/packages.lock.json b/src/Cluckwork.Infrastructure/packages.lock.json
index a91e5db7..62d445b2 100644
--- a/src/Cluckwork.Infrastructure/packages.lock.json
+++ b/src/Cluckwork.Infrastructure/packages.lock.json
@@ -66,12 +66,12 @@
},
"StackExchange.Redis": {
"type": "Direct",
- "requested": "[2.*, )",
- "resolved": "2.13.17",
- "contentHash": "P7o7ZDBAmBrOLQEw8Pt44iIA08ioj48smRxn4Jp6yzCu6P3DOSU6lj7f+IOtN3pPvSgC9YufvM92ycukEEBCYQ==",
+ "requested": "[3.*, )",
+ "resolved": "3.1.13",
+ "contentHash": "OvhFdV2ucee2hnN2v2EOcOTMvIzGsq1PX4kAbIYC8cax+MyabSa7Eu3hWY6D//SbxzZQ/eYFvD8Tvg+pK+969g==",
"dependencies": {
- "Pipelines.Sockets.Unofficial": "2.2.16",
- "System.IO.Hashing": "10.0.2"
+ "RESPite": "3.1.13",
+ "System.IO.Hashing": "10.0.5"
}
},
"System.IdentityModel.Tokens.Jwt": {
@@ -235,10 +235,10 @@
"resolved": "10.0.3",
"contentHash": "7nb5YzXuvWWJxB0J8DiyL3we+X4FOctZrt0fIBnucOIaIevFEEwGQVZKtiu9olXdlNAK1eNgqSral6r/jlhI4w=="
},
- "Pipelines.Sockets.Unofficial": {
+ "RESPite": {
"type": "Transitive",
- "resolved": "2.2.16",
- "contentHash": "nonu9l0YrZH6krVYbskBjE7uG0VMAnvOQ9PU+RmzUsy+++vHkqzzCkHRoP877OiA3iRTxJyNDLfpcU8hrJ3/YQ=="
+ "resolved": "3.1.13",
+ "contentHash": "wqViG+Dl4Ln/X33IyfmciyGirm1ET+M7kjwbb+oJAbDXLP2u2hX1eOnaEgyIAerJNSP98BytyddcW3ZQH55wgw=="
},
"Riok.Mapperly": {
"type": "Transitive",
@@ -305,8 +305,8 @@
},
"System.IO.Hashing": {
"type": "Transitive",
- "resolved": "10.0.2",
- "contentHash": "AKJknIFi9O3+rGExxTry188JPvUoZAPcCtS2qdqyFhIzsxQ1Ap94BeGDG0VzVEHakhmRxmJtVih6TsHoghIt/g=="
+ "resolved": "10.0.5",
+ "contentHash": "8IBJWcCT9+e4Bmevm4T7+fQEiAh133KGiz4oiVTgJckd3Q76OFdR1falgn9lpz7+C4HJvogCDJeAa2QmvbeVtg=="
},
"cluckwork.application": {
"type": "Project",
diff --git a/tests/Cluckwork.Api.IntegrationTests/DistributedRateLimiterWiringTests.cs b/tests/Cluckwork.Api.IntegrationTests/DistributedRateLimiterWiringTests.cs
index cf16cf4d..92525004 100644
--- a/tests/Cluckwork.Api.IntegrationTests/DistributedRateLimiterWiringTests.cs
+++ b/tests/Cluckwork.Api.IntegrationTests/DistributedRateLimiterWiringTests.cs
@@ -129,7 +129,7 @@ private HttpClient ProxiedClient(string clientIp)
}
private static Task PostLoginAsync(HttpClient client, string email = "nobody@example.com") =>
- client.PostAsJsonAsync("/api/v1/auth/login", new { farmCode = TestHarness.DefaultFarmCode, email, password = "WrongPassw0rd!" });
+ client.PostAsJsonAsync("/api/v1/auth/login", new { farmCode = Infrastructure.TestHarness.DefaultFarmCode, email, password = "WrongPassw0rd!" });
// (b) primary down → the WIRED limiter still serves (fallback), still
// enforces a budget, and the alarm fires.
diff --git a/tests/Cluckwork.Api.IntegrationTests/SharedState/ResilientFallbackTests.cs b/tests/Cluckwork.Api.IntegrationTests/SharedState/ResilientFallbackTests.cs
index 2c6e3053..20e7d269 100644
--- a/tests/Cluckwork.Api.IntegrationTests/SharedState/ResilientFallbackTests.cs
+++ b/tests/Cluckwork.Api.IntegrationTests/SharedState/ResilientFallbackTests.cs
@@ -65,17 +65,17 @@ public ValueTask IncrementAsync(
private sealed class TimingOutClaimOnceStore : IClaimOnceStore
{
public bool TryClaim(string key, TimeSpan ttl) =>
- throw new RedisTimeoutException("timeout", CommandStatus.Unknown);
+ throw new RedisTimeoutException(CommandFlags.None, "timeout", CommandStatus.Unknown);
}
private sealed class TimingOutFixedWindowCounter : IFixedWindowCounter
{
public long Increment(string key, TimeSpan window) =>
- throw new RedisTimeoutException("timeout", CommandStatus.Unknown);
+ throw new RedisTimeoutException(CommandFlags.None, "timeout", CommandStatus.Unknown);
public ValueTask IncrementAsync(
string key, TimeSpan window, System.Threading.CancellationToken cancellationToken = default) =>
- throw new RedisTimeoutException("timeout", CommandStatus.Unknown);
+ throw new RedisTimeoutException(CommandFlags.None, "timeout", CommandStatus.Unknown);
}
// ── Working stubs (Redis up) ──────────────────────────────────────────
diff --git a/tests/Cluckwork.Api.IntegrationTests/packages.lock.json b/tests/Cluckwork.Api.IntegrationTests/packages.lock.json
index 2c1cdb80..80b1bd50 100644
--- a/tests/Cluckwork.Api.IntegrationTests/packages.lock.json
+++ b/tests/Cluckwork.Api.IntegrationTests/packages.lock.json
@@ -5,8 +5,8 @@
"Google.Protobuf": {
"type": "Direct",
"requested": "[3.*, )",
- "resolved": "3.35.1",
- "contentHash": "pxtkuXhR8svkvDTQrYew9GZQt6eWhblz/V/WKUFrQgkHYlQPsumJTeF6ppHRJpe6j9ffukkd5lQULiiKaek4xA=="
+ "resolved": "3.36.0",
+ "contentHash": "wDPg8sKlmA8we1bqnC9DYKwLog4PNJ4GYTWV9FkzlGvfs3kNCSt2x0Qe31SBOeBPS2JGEZ/lNfil/Bkwx18Ufg=="
},
"Microsoft.AspNetCore.Mvc.Testing": {
"type": "Direct",
@@ -351,10 +351,10 @@
"OpenTelemetry.Api": "[1.17.0, 2.0.0)"
}
},
- "Pipelines.Sockets.Unofficial": {
+ "RESPite": {
"type": "Transitive",
- "resolved": "2.2.16",
- "contentHash": "nonu9l0YrZH6krVYbskBjE7uG0VMAnvOQ9PU+RmzUsy+++vHkqzzCkHRoP877OiA3iRTxJyNDLfpcU8hrJ3/YQ=="
+ "resolved": "3.1.13",
+ "contentHash": "wqViG+Dl4Ln/X33IyfmciyGirm1ET+M7kjwbb+oJAbDXLP2u2hX1eOnaEgyIAerJNSP98BytyddcW3ZQH55wgw=="
},
"Riok.Mapperly": {
"type": "Transitive",
@@ -445,11 +445,11 @@
},
"StackExchange.Redis": {
"type": "Transitive",
- "resolved": "2.13.17",
- "contentHash": "P7o7ZDBAmBrOLQEw8Pt44iIA08ioj48smRxn4Jp6yzCu6P3DOSU6lj7f+IOtN3pPvSgC9YufvM92ycukEEBCYQ==",
+ "resolved": "3.1.13",
+ "contentHash": "OvhFdV2ucee2hnN2v2EOcOTMvIzGsq1PX4kAbIYC8cax+MyabSa7Eu3hWY6D//SbxzZQ/eYFvD8Tvg+pK+969g==",
"dependencies": {
- "Pipelines.Sockets.Unofficial": "2.2.16",
- "System.IO.Hashing": "10.0.2"
+ "RESPite": "3.1.13",
+ "System.IO.Hashing": "10.0.5"
}
},
"System.IdentityModel.Tokens.Jwt": {
@@ -463,8 +463,8 @@
},
"System.IO.Hashing": {
"type": "Transitive",
- "resolved": "10.0.2",
- "contentHash": "AKJknIFi9O3+rGExxTry188JPvUoZAPcCtS2qdqyFhIzsxQ1Ap94BeGDG0VzVEHakhmRxmJtVih6TsHoghIt/g=="
+ "resolved": "10.0.5",
+ "contentHash": "8IBJWcCT9+e4Bmevm4T7+fQEiAh133KGiz4oiVTgJckd3Q76OFdR1falgn9lpz7+C4HJvogCDJeAa2QmvbeVtg=="
},
"Testcontainers": {
"type": "Transitive",
@@ -557,7 +557,7 @@
"Microsoft.EntityFrameworkCore": "[10.*, )",
"Npgsql.EntityFrameworkCore.PostgreSQL": "[10.*, )",
"Serilog.Extensions.Logging": "[10.*, )",
- "StackExchange.Redis": "[2.*, )",
+ "StackExchange.Redis": "[3.*, )",
"System.IdentityModel.Tokens.Jwt": "[8.*, )"
}
}