diff --git a/LightlessSync/UI/SyncshellFinderUI.cs b/LightlessSync/UI/SyncshellFinderUI.cs index 64f7921..2f215a1 100644 --- a/LightlessSync/UI/SyncshellFinderUI.cs +++ b/LightlessSync/UI/SyncshellFinderUI.cs @@ -4,12 +4,12 @@ using Dalamud.Interface.Colors; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; +using Dalamud.Plugin.Services; using LightlessSync.API.Data; using LightlessSync.API.Data.Enum; using LightlessSync.API.Data.Extensions; using LightlessSync.API.Dto; using LightlessSync.API.Dto.Group; -using LightlessSync.API.Dto.User; using LightlessSync.Services; using LightlessSync.Services.LightFinder; using LightlessSync.Services.Mediator; @@ -78,7 +78,6 @@ public class SyncshellFinderUI : WindowMediatorSubscriberBase Mediator.Subscribe(this, async _ => await RefreshSyncshellsAsync().ConfigureAwait(false)); Mediator.Subscribe(this, async _ => await RefreshSyncshellsAsync(_.gid).ConfigureAwait(false)); Mediator.Subscribe(this, async _ => await RefreshSyncshellsAsync(_.gid).ConfigureAwait(false)); - } public override async void OnOpen() @@ -141,7 +140,16 @@ public class SyncshellFinderUI : WindowMediatorSubscriberBase return; } - var myHashedCid = _dalamudUtilService.GetCID().ToString().GetHash256(); + string? myHashedCid = null; + try + { + var cid = _dalamudUtilService.GetCID(); + myHashedCid = cid.ToString().GetHash256(); + } + catch (Exception ex) + { + _logger.LogDebug(ex, "Failed to get CID, not excluding own broadcast."); + } var broadcasts = _broadcastScannerService.GetActiveSyncshellBroadcasts().Where(b => !string.Equals(b.HashedCID, myHashedCid, StringComparison.Ordinal)).ToList() ?? []; var cardData = new List<(GroupJoinDto Shell, string BroadcasterName)>(); diff --git a/LightlessSync/UI/TopTabMenu.cs b/LightlessSync/UI/TopTabMenu.cs index 471fc11..cc69a5d 100644 --- a/LightlessSync/UI/TopTabMenu.cs +++ b/LightlessSync/UI/TopTabMenu.cs @@ -1,19 +1,20 @@ -using System; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; +using Dalamud.Plugin.Services; using Dalamud.Utility; using LightlessSync.API.Data.Enum; using LightlessSync.API.Data.Extensions; using LightlessSync.LightlessConfiguration.Models; using LightlessSync.Services; -using LightlessSync.Services.Mediator; using LightlessSync.Services.LightFinder; -using LightlessSync.Utils; +using LightlessSync.Services.Mediator; using LightlessSync.UI.Models; using LightlessSync.UI.Style; +using LightlessSync.Utils; using LightlessSync.WebAPI; +using System; using System.Numerics; namespace LightlessSync.UI; @@ -799,7 +800,17 @@ public class TopTabMenu if (!_lightFinderService.IsBroadcasting) return "Syncshell Finder"; - var myHashedCid = _dalamudUtilService.GetCID().ToString().GetHash256(); + string? myHashedCid = null; + try + { + var cid = _dalamudUtilService.GetCID(); + myHashedCid = cid.ToString().GetHash256(); + } + catch (Exception) + { + // Couldnt get own CID, log and return default table + } + var nearbyCount = _lightFinderScannerService .GetActiveSyncshellBroadcasts() .Where(b =>