diff --git a/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs b/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs
index 732b3fa5..4e828918 100644
--- a/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs
+++ b/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs
@@ -313,6 +313,37 @@ public sealed class ActiveUserResource
/// note this returns a , because it may be a workspace the user is not a member of
///
/// The ActiveUser could not be found (e.g. the client is not authenticated)
+ private async Task GetActiveWorkspace_Legacy(CancellationToken cancellationToken = default)
+ {
+ //language=graphql
+ const string QUERY = """
+ query ActiveUser {
+ data:activeUser {
+ data:activeWorkspace {
+ id
+ name
+ role
+ slug
+ description
+ }
+ }
+ }
+ """;
+
+ var request = new GraphQLRequest { Query = QUERY };
+
+ var response = await _client
+ .ExecuteGraphQLRequest?>>(request, cancellationToken)
+ .ConfigureAwait(false);
+
+ if (response.data is null)
+ {
+ throw new SpeckleException("GraphQL response indicated that the ActiveUser could not be found");
+ }
+
+ return response.data.data;
+ }
+
public async Task GetActiveWorkspace(CancellationToken cancellationToken = default)
{
//language=graphql
@@ -333,9 +364,18 @@ public sealed class ActiveUserResource
var request = new GraphQLRequest { Query = QUERY };
- var response = await _client
- .ExecuteGraphQLRequest?>>(request, cancellationToken)
- .ConfigureAwait(false);
+ NullableResponse?> response;
+ try
+ {
+ response = await _client
+ .ExecuteGraphQLRequest?>>(request, cancellationToken)
+ .ConfigureAwait(false);
+ }
+ catch (SpeckleGraphQLInvalidQueryException)
+ {
+ //v2.x.x servers do not have a logoUrl property
+ return await GetActiveWorkspace_Legacy(cancellationToken).ConfigureAwait(false);
+ }
if (response.data is null)
{
diff --git a/src/Speckle.Sdk/Api/GraphQL/Resources/SubscriptionResource.cs b/src/Speckle.Sdk/Api/GraphQL/Resources/SubscriptionResource.cs
index 8ba201d1..39140230 100644
--- a/src/Speckle.Sdk/Api/GraphQL/Resources/SubscriptionResource.cs
+++ b/src/Speckle.Sdk/Api/GraphQL/Resources/SubscriptionResource.cs
@@ -76,6 +76,7 @@ public sealed class SubscriptionResource : IDisposable
/// Subscribe to updates to resource comments/threads. Optionally specify resource ID string to only receive updates regarding comments for those resources
///
///
+ [Obsolete("Comments are now issues, and we've not update SDKs with the new subs")]
public Subscription CreateProjectCommentsUpdatedSubscription(
ViewerUpdateTrackingTarget target
)