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/Changelog/changelog.yaml b/LightlessSync/Changelog/changelog.yaml index 942964b..a25760a 100644 --- a/LightlessSync/Changelog/changelog.yaml +++ b/LightlessSync/Changelog/changelog.yaml @@ -1,11 +1,39 @@ tagline: "Lightless Sync v2.0.1" subline: "LIGHTLESS IS EVOLVING!!" changelog: + - name: "v2.0.2" + tagline: "Last update of 2025!... ... ... If Nothing breaks" + date: "December 28 2025" + # be sure to set this every new version + isCurrent: true + versions: + - number: "Chat" + icon: "" + items: + - "Added a 7TV emote picker to chat. You’ll now see a new button next to Send that opens an emote selector." + - "Pin User, Remove User, and Ban User (including Syncshell) have been added when you right click a user in chat." + - "Chatters now show status icons/labels in the Syncshell (e.g., Owner, Moderator, and Pinned when applicable)." + - "The Rules page no longer blocks input for other open Lightless UI windows." + - number: "LightFinder" + icon: "" + items: + - "If the ImGui Lightfinder icons aren’t working correctly, you can switch back to the Nameplate signature hook. Important warning - USE AT YOUR OWN RISK: The native nameplate hook can crash the game if multiple plugins hook the nameplate function at the same time. We will not provide support about Nameplate crashes, nor will the Dalamud team, **DO NOT BOTHER THEM.**" + - "The LightFinder label in the menu has a counter next to it showing the number of broadcasting users." + - "There is less interference of hidden UI elements for the imGui renderer of LightFinder." + - number: "Miscellaneous fixes" + icon: "" + items: + - "Overhauled transient resources in an attempt to mitigate mount and minion problems." + - "Some file cache entries will now be cached to reduce load on your game." + - "Downloading and decompressing have been redone to fix the locking issues." + - "Disabling the context menu will now hide the context menu on right clicks again. (Thanks @infiniti)" + - "Temporary collections that were not cleared before will now be cleared when the plugin starts." + - "Pair requests will now appear in chat if notifications are not enabled or on chat mode." + - "Fixed an instance were an object may be null in the Download UI." + - "API 14 - Migrate to IPlayerState service" - name: "v2.0.1" tagline: "Some Fixes" date: "December 23 2025" - # be sure to set this every new version - isCurrent: true versions: - number: "Chat" icon: "" 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)) {