From 5b3d00b90a9757e3193028c87dec14909aeb3e1c Mon Sep 17 00:00:00 2001 From: Tsubasa Date: Sun, 28 Dec 2025 03:26:07 +0000 Subject: [PATCH] API14 Updates - Migrate to IPlayerState (#113) - use IPlayerState for DalamudUtilService and make things less async - make LocationInfo work with ContentFinderData Co-authored-by: Tsubasahane Co-authored-by: defnotken Reviewed-on: https://git.lightless-sync.org/Lightless-Sync/LightlessClient/pulls/113 Reviewed-by: cake Co-authored-by: Tsubasa Co-committed-by: Tsubasa --- .gitignore | 3 + .../FileCache/TransientResourceManager.cs | 2 +- LightlessSync/Plugin.cs | 3 +- .../CharaDataGposeTogetherManager.cs | 2 +- .../Services/CharaData/CharaDataManager.cs | 2 +- .../CharaData/CharaDataNearbyManager.cs | 4 +- .../Services/Chat/ZoneChatService.cs | 6 +- LightlessSync/Services/ContextMenuService.cs | 2 +- LightlessSync/Services/DalamudUtilService.cs | 173 ++++++++++-------- .../LightFinder/LightFinderService.cs | 2 +- .../ServerConfigurationManager.cs | 22 +-- LightlessSync/UI/DtrEntry.cs | 4 +- LightlessSync/UI/TopTabMenu.cs | 2 +- .../SignalR/ApIController.Functions.Users.cs | 2 +- LightlessSync/WebAPI/SignalR/ApiController.cs | 6 +- LightlessSync/WebAPI/SignalR/TokenProvider.cs | 4 +- 16 files changed, 133 insertions(+), 106 deletions(-) diff --git a/.gitignore b/.gitignore index dfcfd56..fecf7ea 100644 --- a/.gitignore +++ b/.gitignore @@ -348,3 +348,6 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ + +# idea +/.idea diff --git a/LightlessSync/FileCache/TransientResourceManager.cs b/LightlessSync/FileCache/TransientResourceManager.cs index c2531db..a8b467e 100644 --- a/LightlessSync/FileCache/TransientResourceManager.cs +++ b/LightlessSync/FileCache/TransientResourceManager.cs @@ -85,7 +85,7 @@ public sealed class TransientResourceManager : DisposableMediatorSubscriberBase } } - private string PlayerPersistentDataKey => _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult() + "_" + _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult(); + private string PlayerPersistentDataKey => _dalamudUtil.GetPlayerName() + "_" + _dalamudUtil.GetHomeWorldId(); private ConcurrentDictionary> SemiTransientResources { get diff --git a/LightlessSync/Plugin.cs b/LightlessSync/Plugin.cs index a38b924..2d46b43 100644 --- a/LightlessSync/Plugin.cs +++ b/LightlessSync/Plugin.cs @@ -52,7 +52,7 @@ public sealed class Plugin : IDalamudPlugin IFramework framework, IObjectTable objectTable, IClientState clientState, ICondition condition, IChatGui chatGui, IGameGui gameGui, IDtrBar dtrBar, IPluginLog pluginLog, ITargetManager targetManager, INotificationManager notificationManager, ITextureProvider textureProvider, IContextMenu contextMenu, IGameInteropProvider gameInteropProvider, IGameConfig gameConfig, - ISigScanner sigScanner, INamePlateGui namePlateGui, IAddonLifecycle addonLifecycle) + ISigScanner sigScanner, INamePlateGui namePlateGui, IAddonLifecycle addonLifecycle, IPlayerState playerState) { NativeDll.Initialize(pluginInterface.AssemblyLocation.DirectoryName); if (!Directory.Exists(pluginInterface.ConfigDirectory.FullName)) @@ -219,6 +219,7 @@ public sealed class Plugin : IDalamudPlugin gameData, targetManager, gameConfig, + playerState, sp.GetRequiredService(), sp.GetRequiredService(), sp.GetRequiredService(), diff --git a/LightlessSync/Services/CharaData/CharaDataGposeTogetherManager.cs b/LightlessSync/Services/CharaData/CharaDataGposeTogetherManager.cs index d7463b2..cb5b0aa 100644 --- a/LightlessSync/Services/CharaData/CharaDataGposeTogetherManager.cs +++ b/LightlessSync/Services/CharaData/CharaDataGposeTogetherManager.cs @@ -450,7 +450,7 @@ public class CharaDataGposeTogetherManager : DisposableMediatorSubscriberBase }; } - var loc = await _dalamudUtil.GetMapDataAsync().ConfigureAwait(false); + var loc = _dalamudUtil.GetMapData(); worldData.LocationInfo = loc; if (_forceResendWorldData || worldData != _lastWorldData) diff --git a/LightlessSync/Services/CharaData/CharaDataManager.cs b/LightlessSync/Services/CharaData/CharaDataManager.cs index d8b2387..4a30639 100644 --- a/LightlessSync/Services/CharaData/CharaDataManager.cs +++ b/LightlessSync/Services/CharaData/CharaDataManager.cs @@ -254,7 +254,7 @@ public sealed partial class CharaDataManager : DisposableMediatorSubscriberBase Logger.LogTrace("Attaching World data {data}", worldData); - worldData.LocationInfo = await _dalamudUtilService.GetMapDataAsync().ConfigureAwait(false); + worldData.LocationInfo = _dalamudUtilService.GetMapData(); Logger.LogTrace("World data serialized: {data}", worldData); diff --git a/LightlessSync/Services/CharaData/CharaDataNearbyManager.cs b/LightlessSync/Services/CharaData/CharaDataNearbyManager.cs index b3d4800..c66588d 100644 --- a/LightlessSync/Services/CharaData/CharaDataNearbyManager.cs +++ b/LightlessSync/Services/CharaData/CharaDataNearbyManager.cs @@ -186,8 +186,8 @@ public sealed class CharaDataNearbyManager : DisposableMediatorSubscriberBase var previousPoses = _nearbyData.Keys.ToList(); _nearbyData.Clear(); - var ownLocation = await _dalamudUtilService.RunOnFrameworkThread(() => _dalamudUtilService.GetMapData()).ConfigureAwait(false); - var player = await _dalamudUtilService.RunOnFrameworkThread(() => _dalamudUtilService.GetPlayerCharacter()).ConfigureAwait(false); + var ownLocation = _dalamudUtilService.GetMapData(); + var player = await _dalamudUtilService.GetPlayerCharacterAsync().ConfigureAwait(false); var currentServer = player.CurrentWorld; var playerPos = player.Position; diff --git a/LightlessSync/Services/Chat/ZoneChatService.cs b/LightlessSync/Services/Chat/ZoneChatService.cs index 598f1b3..54dd2d9 100644 --- a/LightlessSync/Services/Chat/ZoneChatService.cs +++ b/LightlessSync/Services/Chat/ZoneChatService.cs @@ -576,7 +576,7 @@ public sealed class ZoneChatService : DisposableMediatorSubscriberBase, IHostedS try { - var location = await _dalamudUtilService.GetMapDataAsync().ConfigureAwait(false); + var location = _dalamudUtilService.GetMapData(); var territoryId = (ushort)location.TerritoryId; var worldId = (ushort)location.ServerId; @@ -702,7 +702,7 @@ public sealed class ZoneChatService : DisposableMediatorSubscriberBase, IHostedS { try { - var worldId = (ushort)await _dalamudUtilService.GetWorldIdAsync().ConfigureAwait(false); + var worldId = (ushort)_dalamudUtilService.GetWorldId(); return definition.Descriptor with { WorldId = worldId }; } catch (Exception ex) @@ -1161,7 +1161,7 @@ public sealed class ZoneChatService : DisposableMediatorSubscriberBase, IHostedS { try { - return _dalamudUtilService.GetPlayerNameAsync().ConfigureAwait(false).GetAwaiter().GetResult(); + return _dalamudUtilService.GetPlayerName(); } catch (Exception ex) { diff --git a/LightlessSync/Services/ContextMenuService.cs b/LightlessSync/Services/ContextMenuService.cs index 7d35529..3fe893c 100644 --- a/LightlessSync/Services/ContextMenuService.cs +++ b/LightlessSync/Services/ContextMenuService.cs @@ -241,7 +241,7 @@ internal class ContextMenuService : IHostedService return; } - var senderCid = (await _dalamudUtil.GetCIDAsync().ConfigureAwait(false)).ToString().GetHash256(); + var senderCid = _dalamudUtil.GetCID().ToString().GetHash256(); var receiverCid = DalamudUtilService.GetHashedCIDFromPlayerPointer(targetData.Address); _logger.LogInformation("Sending pair request: sender {SenderCid}, receiver {ReceiverCid}", senderCid, receiverCid); diff --git a/LightlessSync/Services/DalamudUtilService.cs b/LightlessSync/Services/DalamudUtilService.cs index df2fab2..0b93997 100644 --- a/LightlessSync/Services/DalamudUtilService.cs +++ b/LightlessSync/Services/DalamudUtilService.cs @@ -37,6 +37,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber private readonly ICondition _condition; private readonly IDataManager _gameData; private readonly IGameConfig _gameConfig; + private readonly IPlayerState _playerState; private readonly BlockedCharacterHandler _blockedCharacterHandler; private readonly IFramework _framework; private readonly IGameGui _gameGui; @@ -60,7 +61,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber private Lazy _cid; public DalamudUtilService(ILogger logger, IClientState clientState, IObjectTable objectTable, IFramework framework, - IGameGui gameGui, ICondition condition, IDataManager gameData, ITargetManager targetManager, IGameConfig gameConfig, + IGameGui gameGui, ICondition condition, IDataManager gameData, ITargetManager targetManager, IGameConfig gameConfig, IPlayerState playerState, ActorObjectService actorObjectService, BlockedCharacterHandler blockedCharacterHandler, LightlessMediator mediator, PerformanceCollectorService performanceCollector, LightlessConfigService configService, PlayerPerformanceConfigService playerPerformanceConfigService, Lazy pairFactory) { @@ -72,6 +73,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber _condition = condition; _gameData = gameData; _gameConfig = gameConfig; + _playerState = playerState; _actorObjectService = actorObjectService; _targetManager = targetManager; _blockedCharacterHandler = blockedCharacterHandler; @@ -95,6 +97,12 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber TerritoryData = new(() => BuildTerritoryData(clientLanguage)); TerritoryDataEnglish = new(() => BuildTerritoryData(Dalamud.Game.ClientLanguage.English)); MapData = new(() => BuildMapData(clientLanguage)); + ContentFinderData = new Lazy>(() => + { + return _gameData.GetExcelSheet()! + .Where(w => w.RowId != 0 && !string.IsNullOrEmpty(w.ContentFinderCondition.ValueNullable?.Name.ToString())) + .ToDictionary(w => w.RowId, w => w.ContentFinderCondition.Value.Name.ToString()); + }); mediator.Subscribe(this, (msg) => { if (clientState.IsPvP) return; @@ -280,6 +288,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber public Lazy> TerritoryData { get; private set; } public Lazy> TerritoryDataEnglish { get; private set; } public Lazy> MapData { get; private set; } + public Lazy> ContentFinderData { get; private set; } public bool IsLodEnabled { get; private set; } public LightlessMediator Mediator { get; } @@ -373,7 +382,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber public bool GetIsPlayerPresent() { EnsureIsOnFramework(); - return _objectTable.LocalPlayer != null && _objectTable.LocalPlayer.IsValid(); + return _objectTable.LocalPlayer != null && _objectTable.LocalPlayer.IsValid() && _playerState.IsLoaded; } public async Task GetIsPlayerPresentAsync() @@ -587,34 +596,17 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber public string GetPlayerName() { - EnsureIsOnFramework(); - return _objectTable.LocalPlayer?.Name.ToString() ?? "--"; - } - - public async Task GetPlayerNameAsync() - { - return await RunOnFrameworkThread(GetPlayerName).ConfigureAwait(false); - } - - public async Task GetCIDAsync() - { - return await RunOnFrameworkThread(GetCID).ConfigureAwait(false); + return _playerState.CharacterName; } public unsafe ulong GetCID() { - EnsureIsOnFramework(); - var playerChar = GetPlayerCharacter(); - - if (playerChar == null || playerChar.Address == IntPtr.Zero) - return 0; - - return ((BattleChara*)playerChar.Address)->Character.ContentId; + return _playerState.ContentId; } - public async Task GetPlayerNameHashedAsync() + public string GetPlayerNameHashed() { - return await RunOnFrameworkThread(() => _cid.Value.ToString().GetHash256()).ConfigureAwait(false); + return _cid.Value.ToString().GetHash256(); } public static unsafe bool TryGetHashedCID(IPlayerCharacter? playerCharacter, out string hashedCid) @@ -653,54 +645,100 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber public uint GetHomeWorldId() { - EnsureIsOnFramework(); - return _objectTable.LocalPlayer?.HomeWorld.RowId ?? 0; + return _playerState.HomeWorld.RowId; } public uint GetWorldId() { - EnsureIsOnFramework(); - return _objectTable.LocalPlayer!.CurrentWorld.RowId; + return _playerState.CurrentWorld.RowId; } public unsafe LocationInfo GetMapData() { - EnsureIsOnFramework(); - var agentMap = AgentMap.Instance(); var houseMan = HousingManager.Instance(); - uint serverId = 0; - if (_objectTable.LocalPlayer == null) serverId = 0; - else serverId = _objectTable.LocalPlayer.CurrentWorld.RowId; - uint mapId = agentMap == null ? 0 : agentMap->CurrentMapId; - uint territoryId = agentMap == null ? 0 : agentMap->CurrentTerritoryId; - uint divisionId = houseMan == null ? 0 : (uint)(houseMan->GetCurrentDivision()); - uint wardId = houseMan == null ? 0 : (uint)(houseMan->GetCurrentWard() + 1); - uint houseId = 0; - var tempHouseId = houseMan == null ? 0 : (houseMan->GetCurrentPlot()); - if (!houseMan->IsInside()) tempHouseId = 0; - if (tempHouseId < -1) - { - divisionId = tempHouseId == -127 ? 2 : (uint)1; - tempHouseId = 100; - } - if (tempHouseId == -1) tempHouseId = 0; - houseId = (uint)tempHouseId; - if (houseId != 0) - { - territoryId = HousingManager.GetOriginalHouseTerritoryTypeId(); - } - uint roomId = houseMan == null ? 0 : (uint)(houseMan->GetCurrentRoom()); - return new LocationInfo() + var location = new LocationInfo(); + location.ServerId = _playerState.CurrentWorld.RowId; + //location.InstanceId = UIState.Instance()->PublicInstance.InstanceId; //TODO:Need API update first + location.TerritoryId = _clientState.TerritoryType; + location.MapId = _clientState.MapId; + if (houseMan != null) { - ServerId = serverId, - MapId = mapId, - TerritoryId = territoryId, - DivisionId = divisionId, - WardId = wardId, - HouseId = houseId, - RoomId = roomId - }; + if (houseMan->IsInside()) + { + location.TerritoryId = HousingManager.GetOriginalHouseTerritoryTypeId(); + var house = houseMan->GetCurrentIndoorHouseId(); + location.WardId = house.WardIndex + 1u; + location.HouseId = house.IsApartment ? 100 : house.PlotIndex + 1u; + location.RoomId = (uint)house.RoomNumber; + location.DivisionId = house.IsApartment ? house.ApartmentDivision + 1u : houseMan->GetCurrentDivision(); + } + else if (houseMan->IsInWorkshop()) + { + var workShop = houseMan->WorkshopTerritory; + var house = workShop->HouseId; + location.WardId = house.WardIndex + 1u; + location.HouseId = house.PlotIndex + 1u; + } + else if (houseMan->IsOutside()) + { + var outside = houseMan->OutdoorTerritory; + var house = outside->HouseId; + location.WardId = house.WardIndex + 1u; + location.HouseId = (uint)houseMan->GetCurrentPlot() + 1; + location.DivisionId = houseMan->GetCurrentDivision(); + } + //_logger.LogWarning(LocationToString(location)); + } + return location; + } + + public string LocationToString(LocationInfo location) + { + if (location.ServerId is 0 || location.TerritoryId is 0) return String.Empty; + var str = WorldData.Value[(ushort)location.ServerId]; + + if (ContentFinderData.Value.TryGetValue(location.TerritoryId , out var dutyName)) + { + str += $" - [In Duty]{dutyName}"; + } + else + { + if (location.HouseId is not 0 || location.MapId is 0) // Dont show mapName when in house/no map available + { + str += $" - {TerritoryData.Value[(ushort)location.TerritoryId]}"; + } + else + { + str += $" - {MapData.Value[(ushort)location.MapId].MapName}"; + } + + // if (location.InstanceId is not 0) + // { + // str += ((SeIconChar)(57520 + location.InstanceId)).ToIconString(); + // } + + if (location.WardId is not 0) + { + str += $" Ward #{location.WardId}"; + } + + if (location.HouseId is not 0 and not 100) + { + str += $" House #{location.HouseId}"; + } + else if (location.HouseId is 100) + { + str += $" {(location.DivisionId == 2 ? "[Subdivision]" : "")} Apartment"; + } + + if (location.RoomId is not 0) + { + str += $" Room #{location.RoomId}"; + } + } + + return str; } public unsafe void SetMarkerAndOpenMap(Vector3 position, Map map) @@ -712,21 +750,6 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber agentMap->SetFlagMapMarker(map.TerritoryType.RowId, map.RowId, position); } - public async Task GetMapDataAsync() - { - return await RunOnFrameworkThread(GetMapData).ConfigureAwait(false); - } - - public async Task GetWorldIdAsync() - { - return await RunOnFrameworkThread(GetWorldId).ConfigureAwait(false); - } - - public async Task GetHomeWorldIdAsync() - { - return await RunOnFrameworkThread(GetHomeWorldId).ConfigureAwait(false); - } - public unsafe bool IsGameObjectPresent(IntPtr key) { return _objectTable.Any(f => f.Address == key); diff --git a/LightlessSync/Services/LightFinder/LightFinderService.cs b/LightlessSync/Services/LightFinder/LightFinderService.cs index 82a51c7..f07064c 100644 --- a/LightlessSync/Services/LightFinder/LightFinderService.cs +++ b/LightlessSync/Services/LightFinder/LightFinderService.cs @@ -67,7 +67,7 @@ public class LightFinderService : IHostedService, IMediatorSubscriber { try { - var cid = await _dalamudUtil.GetCIDAsync().ConfigureAwait(false); + var cid = _dalamudUtil.GetCID(); return cid.ToString().GetHash256(); } catch (Exception ex) diff --git a/LightlessSync/Services/ServerConfiguration/ServerConfigurationManager.cs b/LightlessSync/Services/ServerConfiguration/ServerConfigurationManager.cs index 5cb3e15..339f462 100644 --- a/LightlessSync/Services/ServerConfiguration/ServerConfigurationManager.cs +++ b/LightlessSync/Services/ServerConfiguration/ServerConfigurationManager.cs @@ -101,9 +101,9 @@ public class ServerConfigurationManager } hasMulti = false; - var charaName = _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult(); - var worldId = _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult(); - var cid = _dalamudUtil.GetCIDAsync().GetAwaiter().GetResult(); + var charaName = _dalamudUtil.GetPlayerName(); + var worldId = _dalamudUtil.GetHomeWorldId(); + var cid = _dalamudUtil.GetCID(); var auth = currentServer.Authentications.FindAll(f => string.Equals(f.CharacterName, charaName) && f.WorldId == worldId); if (auth.Count >= 2) @@ -148,9 +148,9 @@ public class ServerConfigurationManager } hasMulti = false; - var charaName = _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult(); - var worldId = _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult(); - var cid = _dalamudUtil.GetCIDAsync().GetAwaiter().GetResult(); + var charaName = _dalamudUtil.GetPlayerName(); + var worldId = _dalamudUtil.GetHomeWorldId(); + var cid = _dalamudUtil.GetCID(); if (!currentServer.Authentications.Any() && currentServer.SecretKeys.Any()) { currentServer.Authentications.Add(new Authentication() @@ -268,16 +268,16 @@ public class ServerConfigurationManager { if (serverSelectionIndex == -1) serverSelectionIndex = CurrentServerIndex; var server = GetServerByIndex(serverSelectionIndex); - if (server.Authentications.Exists(c => string.Equals(c.CharacterName, _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult(), StringComparison.Ordinal) - && c.WorldId == _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult())) + if (server.Authentications.Exists(c => string.Equals(c.CharacterName, _dalamudUtil.GetPlayerName(), StringComparison.Ordinal) + && c.WorldId == _dalamudUtil.GetHomeWorldId())) return; server.Authentications.Add(new Authentication() { - CharacterName = _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult(), - WorldId = _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult(), + CharacterName = _dalamudUtil.GetPlayerName(), + WorldId = _dalamudUtil.GetHomeWorldId(), SecretKeyIdx = !server.UseOAuth2 ? server.SecretKeys.Last().Key : -1, - LastSeenCID = _dalamudUtil.GetCIDAsync().GetAwaiter().GetResult() + LastSeenCID = _dalamudUtil.GetCID() }); Save(); } diff --git a/LightlessSync/UI/DtrEntry.cs b/LightlessSync/UI/DtrEntry.cs index a6a244c..ae94d5e 100644 --- a/LightlessSync/UI/DtrEntry.cs +++ b/LightlessSync/UI/DtrEntry.cs @@ -368,8 +368,8 @@ public sealed class DtrEntry : IDisposable, IHostedService { try { - var cid = await _dalamudUtilService.GetCIDAsync().ConfigureAwait(false); - var hashedCid = cid.ToString().GetHash256(); + var cid = _dalamudUtilService.GetCID(); + var hashedCid = cid.ToString().GetHash256(); lock (_localHashedCidLock) { _localHashedCid = hashedCid; diff --git a/LightlessSync/UI/TopTabMenu.cs b/LightlessSync/UI/TopTabMenu.cs index 92215fe..1297fa6 100644 --- a/LightlessSync/UI/TopTabMenu.cs +++ b/LightlessSync/UI/TopTabMenu.cs @@ -440,7 +440,7 @@ public class TopTabMenu try { - var myCidHash = (await _dalamudUtilService.GetCIDAsync().ConfigureAwait(false)).ToString().GetHash256(); + var myCidHash = _dalamudUtilService.GetCID().ToString().GetHash256(); await _apiController.TryPairWithContentId(request.HashedCid).ConfigureAwait(false); _pairRequestService.RemoveRequest(request.HashedCid); diff --git a/LightlessSync/WebAPI/SignalR/ApIController.Functions.Users.cs b/LightlessSync/WebAPI/SignalR/ApIController.Functions.Users.cs index 2f317b9..fdc4719 100644 --- a/LightlessSync/WebAPI/SignalR/ApIController.Functions.Users.cs +++ b/LightlessSync/WebAPI/SignalR/ApIController.Functions.Users.cs @@ -193,7 +193,7 @@ public partial class ApiController CensusDataDto? censusDto = null; if (_serverManager.SendCensusData && _lastCensus != null) { - var world = await _dalamudUtil.GetWorldIdAsync().ConfigureAwait(false); + var world = _dalamudUtil.GetWorldId(); censusDto = new((ushort)world, _lastCensus.RaceId, _lastCensus.TribeId, _lastCensus.Gender); Logger.LogDebug("Attaching Census Data: {data}", censusDto); } diff --git a/LightlessSync/WebAPI/SignalR/ApiController.cs b/LightlessSync/WebAPI/SignalR/ApiController.cs index 14c90ca..9639f6f 100644 --- a/LightlessSync/WebAPI/SignalR/ApiController.cs +++ b/LightlessSync/WebAPI/SignalR/ApiController.cs @@ -544,8 +544,8 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL private void DalamudUtilOnLogIn() { - var charaName = _dalamudUtil.GetPlayerNameAsync().GetAwaiter().GetResult(); - var worldId = _dalamudUtil.GetHomeWorldIdAsync().GetAwaiter().GetResult(); + var charaName = _dalamudUtil.GetPlayerName(); + var worldId = _dalamudUtil.GetHomeWorldId(); var auth = _serverManager.CurrentServer.Authentications.Find(f => string.Equals(f.CharacterName, charaName, StringComparison.Ordinal) && f.WorldId == worldId); if (auth?.AutoLogin ?? false) { @@ -653,7 +653,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL CensusDataDto? dto = null; if (_serverManager.SendCensusData && _lastCensus != null) { - var world = await _dalamudUtil.GetWorldIdAsync().ConfigureAwait(false); + var world = _dalamudUtil.GetWorldId(); dto = new((ushort)world, _lastCensus.RaceId, _lastCensus.TribeId, _lastCensus.Gender); Logger.LogDebug("Attaching Census Data: {data}", dto); } diff --git a/LightlessSync/WebAPI/SignalR/TokenProvider.cs b/LightlessSync/WebAPI/SignalR/TokenProvider.cs index fa23363..2446986 100644 --- a/LightlessSync/WebAPI/SignalR/TokenProvider.cs +++ b/LightlessSync/WebAPI/SignalR/TokenProvider.cs @@ -72,7 +72,7 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber result = await _httpClient.PostAsync(tokenUri, new FormUrlEncodedContent( [ new KeyValuePair("auth", auth), - new KeyValuePair("charaIdent", await _dalamudUtil.GetPlayerNameHashedAsync().ConfigureAwait(false)), + new KeyValuePair("charaIdent", _dalamudUtil.GetPlayerNameHashed()), ]), ct).ConfigureAwait(false); } else @@ -152,7 +152,7 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber JwtIdentifier jwtIdentifier; try { - var playerIdentifier = await _dalamudUtil.GetPlayerNameHashedAsync().ConfigureAwait(false); + var playerIdentifier = _dalamudUtil.GetPlayerNameHashed(); if (string.IsNullOrEmpty(playerIdentifier)) {