diff --git a/CHANGELOG.md b/CHANGELOG.md index 52186a47385..d8eb294d591 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ - Add layer class filtering for views used in multiple contexts (e.g., SwiftUI._UIGraphicsView) - Improve transform calculations for views with custom anchor points - Fix axis-aligned transform detection for optimized opaque view clipping +- Fix issue where a too-large breadcrumb would prevent future errors and messages from being uploaded (#6618) ### Improvements diff --git a/Sources/Sentry/SentryHttpTransport.m b/Sources/Sentry/SentryHttpTransport.m index f673a1f4294..af8ee188ca6 100644 --- a/Sources/Sentry/SentryHttpTransport.m +++ b/Sources/Sentry/SentryHttpTransport.m @@ -414,6 +414,13 @@ - (void)sendEnvelope:(SentryEnvelope *)envelope return; } + if (response.statusCode >= 400 && response.statusCode < 500 && response.statusCode != 429) { + SENTRY_LOG_DEBUG(@"Received 4xx response code: %li", (long)response.statusCode); + // 4xx means the payload is bad and will not succeed on retry. Drop it on the floor and enable sending the next one. + [weakSelf deleteEnvelopeAndSendNext:envelopePath]; + return; + } + SENTRY_LOG_DEBUG(@"Received non-200 response code: %li", (long)response.statusCode); [weakSelf finishedSending]; }];