Skip to content

Commit 23e12c4

Browse files
authored
Fix compiler errors for Unity 2019.4 (#137)
* Fix compiler errors for Unity 2019.4 * prevent Json from IL2CPP code stripping (tested on 2019.4 IL2CPP, .NET Standard 2.0)
1 parent 93353b9 commit 23e12c4

16 files changed

Lines changed: 71 additions & 22 deletions

Assets/Plugins/StreamChat/Core/LowLevelClient/API/Internal/InternalApiClientBase.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,11 @@ private async Task<TResponse> HttpRequest<TResponse>(HttpMethodType httpMethod,
9696

9797
if (httpMethod == HttpMethodType.Get && serializedContent != null)
9898
{
99-
queryParameters ??= QueryParameters.Default;
99+
if (queryParameters == null)
100+
{
101+
queryParameters = QueryParameters.Default;
102+
}
103+
100104
queryParameters.Append("payload", serializedContent);
101105
}
102106

Assets/Plugins/StreamChat/Core/LowLevelClient/StreamChatLowLevelClient.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,11 @@ private set
205205
public static IStreamChatLowLevelClient CreateDefaultClient(AuthCredentials authCredentials,
206206
IStreamClientConfig config = default)
207207
{
208-
config ??= StreamClientConfig.Default;
208+
if (config == null)
209+
{
210+
config = StreamClientConfig.Default;
211+
}
212+
209213
var logs = StreamDependenciesFactory.CreateLogger(config.LogLevel.ToLogLevel());
210214
var applicationInfo = StreamDependenciesFactory.CreateApplicationInfo();
211215
var websocketClient

Assets/Plugins/StreamChat/Core/Responses/StreamFileUploadResponse.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace StreamChat.Core.Responses
22
{
33
public readonly struct StreamFileUploadResponse
44
{
5-
public readonly string FileUrl { get; }
5+
public string FileUrl { get; }
66

77
internal StreamFileUploadResponse(string fileUrl)
88
{

Assets/Plugins/StreamChat/Core/StatefulModels/StreamChannel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,10 @@ public async Task<IEnumerable<IStreamChannelMember>> QueryMembersAsync(
290290
IDictionary<string, object> filters = null, int limit = 30, int offset = 0)
291291
{
292292
// filter_conditions is required by API but empty object is accepted
293-
filters ??= new Dictionary<string, object>();
293+
if (filters == null)
294+
{
295+
filters = new Dictionary<string, object>();
296+
}
294297

295298
var response = await LowLevelClient.InternalChannelApi.QueryMembersAsync(new QueryMembersRequestInternalDTO
296299
{

Assets/Plugins/StreamChat/Core/StreamChatClient.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,11 @@ public sealed class StreamChatClient : IStreamChatClient
9494
/// <param name="config">[Optional] configuration</param>
9595
public static IStreamChatClient CreateDefaultClient(IStreamClientConfig config = default)
9696
{
97-
config ??= StreamClientConfig.Default;
97+
if (config == null)
98+
{
99+
config = StreamClientConfig.Default;
100+
}
101+
98102
var logs = StreamDependenciesFactory.CreateLogger(config.LogLevel.ToLogLevel());
99103
var websocketClient
100104
= StreamDependenciesFactory.CreateWebsocketClient(logs, config.LogLevel.IsDebugEnabled());

Assets/Plugins/StreamChat/EditorTools/DefineSymbols/Unity2020DefineSymbols.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#if UNITY_2020_1_OR_NEWER && !UNITY_2021
1+
#if UNITY_2019_1_OR_NEWER && !UNITY_2021_1_OR_NEWER
22
using System.Collections.Generic;
3-
using System.Linq;
43
using UnityEditor;
54

65
namespace StreamChat.EditorTools.DefineSymbols

Assets/Plugins/StreamChat/EditorTools/DefineSymbols/Unity2021DefineSymbols.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if UNITY_2021
1+
#if UNITY_2021_1_OR_NEWER
22
using System.Collections.Generic;
33
using UnityEditor;
44
using UnityEditor.Build;

Assets/Plugins/StreamChat/EditorTools/DefineSymbols/UnityDefineSymbolsFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public class UnityDefineSymbolsFactory
44
{
55
public IUnityDefineSymbols CreateDefault()
66
{
7-
#if UNITY_2021
7+
#if UNITY_2021_1_OR_NEWER
88
return new Unity2021DefineSymbols();
99
#else
1010
return new Unity2020DefineSymbols();

Assets/Plugins/StreamChat/Libs/Auth/ITokenProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Threading.Tasks;
2-
using UnityEngine;
32

43
namespace StreamChat.Libs.Auth
54
{
@@ -14,4 +13,6 @@ public interface ITokenProvider
1413
/// <remarks>https://getstream.io/chat/docs/unity/tokens_and_authentication/?language=unity#token-providers</remarks>
1514
Task<string> GetTokenAsync(string userId);
1615
}
16+
17+
//StreamTodo: we could split this into IAsyncTokenProvider for async/await syntax and IEnumeratorTokenProvider for coroutines?
1718
}

Assets/Plugins/StreamChat/Libs/Http/HttpResponse.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Net.Http;
22
using System.Threading.Tasks;
3+
using StreamChat.Libs.Utils;
34
using UnityEngine.Networking;
45

56
namespace StreamChat.Libs.Http
@@ -22,9 +23,8 @@ public static async Task<HttpResponse> CreateFromHttpResponseMessageAsync(
2223

2324
public static HttpResponse CreateFromUnityWebRequest(UnityWebRequest unityWebRequest)
2425
{
25-
var isSuccessStatusCode = unityWebRequest.result == UnityWebRequest.Result.Success;
2626
var result = unityWebRequest.downloadHandler?.text ?? string.Empty;
27-
return new HttpResponse(isSuccessStatusCode, (int)unityWebRequest.responseCode, result);
27+
return new HttpResponse(unityWebRequest.IsRequestSuccessful(), (int)unityWebRequest.responseCode, result);
2828
}
2929

3030
public HttpResponse(bool isSuccessStatusCode, int statusCode, string result)

0 commit comments

Comments
 (0)