diff --git a/src/Speckle.Sdk/Api/GraphQL/Client.cs b/src/Speckle.Sdk/Api/GraphQL/Client.cs index e53064be..dc66df02 100644 --- a/src/Speckle.Sdk/Api/GraphQL/Client.cs +++ b/src/Speckle.Sdk/Api/GraphQL/Client.cs @@ -154,10 +154,10 @@ public sealed class Client : ISpeckleGraphQLClient, IClient activity?.SetStatus(SdkActivityStatusCode.Ok); return ret; } - catch (Exception) + catch (Exception ex) { activity?.SetStatus(SdkActivityStatusCode.Error); - // Don't record exception as it's rethrown. + activity?.RecordException(ex); throw; } } diff --git a/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs b/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs index 88443633..172de132 100644 --- a/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs +++ b/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs @@ -65,7 +65,12 @@ public sealed class DiskStore await foreach (var item in _channel.ReadAllAsync(_cancellationToken).ConfigureAwait(false)) { - await writer.WriteLineAsync($"{item.Id}\t{item.SpeckleType}\t{item.Json}").ConfigureAwait(false); + await writer.WriteAsync(item.Id).ConfigureAwait(false); + await writer.WriteAsync('\t').ConfigureAwait(false); + await writer.WriteAsync(item.SpeckleType).ConfigureAwait(false); + await writer.WriteAsync('\t').ConfigureAwait(false); + await writer.WriteAsync(item.Json.Value).ConfigureAwait(false); + await writer.WriteLineAsync().ConfigureAwait(false); } #if NET8_0_OR_GREATER await writer.FlushAsync(_cancellationToken).ConfigureAwait(false);