diff --git a/MareSynchronos/Managers/CachedPlayer.cs b/MareSynchronos/Managers/CachedPlayer.cs index e0ea83a..6feab20 100644 --- a/MareSynchronos/Managers/CachedPlayer.cs +++ b/MareSynchronos/Managers/CachedPlayer.cs @@ -166,6 +166,7 @@ public class CachedPlayer private void ApplyCharacterData(CharacterCacheDto cache, Dictionary moddedPaths) { + if (PlayerCharacter is null) return; _ipcManager.PenumbraRemoveTemporaryCollection(PlayerName!); var tempCollection = _ipcManager.PenumbraCreateTemporaryCollection(PlayerName!); _dalamudUtil.WaitWhileCharacterIsDrawing(PlayerCharacter!.Address); diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 7040839..109c6ce 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.1.4.0 + 0.1.5.0 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/UI/CompactUI.cs b/MareSynchronos/UI/CompactUI.cs index fec39cb..a00997b 100644 --- a/MareSynchronos/UI/CompactUI.cs +++ b/MareSynchronos/UI/CompactUI.cs @@ -282,7 +282,7 @@ namespace MareSynchronos.UI ImGui.BeginChild("list", new Vector2(_windowContentWidth, ySize), false); foreach (var entry in users.ToList()) { - UiShared.DrawWithID("client", () => DrawPairedClient(entry)); + UiShared.DrawWithID(entry.OtherUID, () => DrawPairedClient(entry)); } ImGui.EndChild(); } diff --git a/MareSynchronos/Utils/DalamudUtil.cs b/MareSynchronos/Utils/DalamudUtil.cs index 95dddc2..b1cc4e5 100644 --- a/MareSynchronos/Utils/DalamudUtil.cs +++ b/MareSynchronos/Utils/DalamudUtil.cs @@ -111,7 +111,7 @@ namespace MareSynchronos.Utils Thread.Sleep(500); } - public void WaitWhileSelfIsDrawing(CancellationToken token) => WaitWhileCharacterIsDrawing(_clientState.LocalPlayer?.Address ?? new IntPtr(), token); + public void WaitWhileSelfIsDrawing(CancellationToken? token) => WaitWhileCharacterIsDrawing(_clientState.LocalPlayer?.Address ?? new IntPtr(), token); public void Dispose() { diff --git a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs index 0fb6bec..ca48849 100644 --- a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs +++ b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs @@ -32,7 +32,7 @@ namespace MareSynchronos.WebAPI await _fileHub!.SendAsync(FilesHubAPI.SendDeleteAllFiles); } - public async Task DownloadFile(string hash, CancellationToken ct) + private async Task DownloadFile(string hash, CancellationToken ct) { var reader = _fileHub!.StreamAsync(FilesHubAPI.StreamDownloadFileAsync, hash, ct); string fileName = Path.GetTempFileName(); diff --git a/MareSynchronos/WebAPI/ApiController.Connectivity.cs b/MareSynchronos/WebAPI/ApiController.Connectivity.cs index 3531a3d..9294cff 100644 --- a/MareSynchronos/WebAPI/ApiController.Connectivity.cs +++ b/MareSynchronos/WebAPI/ApiController.Connectivity.cs @@ -162,7 +162,7 @@ namespace MareSynchronos.WebAPI var token = _connectionCancellationTokenSource.Token; while (ServerState is not ServerState.Connected && !token.IsCancellationRequested) { - await StopAllConnections(_connectionCancellationTokenSource.Token); + await StopAllConnections(token); try { @@ -195,7 +195,7 @@ namespace MareSynchronos.WebAPI } _connectionDto = - await _connectionHub.InvokeAsync(ConnectionHubAPI.InvokeHeartbeat, token); + await _connectionHub.InvokeAsync(ConnectionHubAPI.InvokeHeartbeat, _dalamudUtil.PlayerNameHashed, token); if (ServerState is ServerState.Connected) // user is authorized && server is legit { Logger.Debug("Initializing data"); @@ -269,7 +269,6 @@ namespace MareSynchronos.WebAPI if (!string.IsNullOrEmpty(SecretKey) && !_pluginConfiguration.FullPause) { options.Headers.Add("Authorization", SecretKey); - options.Headers.Add("CharacterNameHash", _dalamudUtil.PlayerNameHashed); } options.Transports = HttpTransportType.WebSockets;