diff --git a/MareSynchronos/PlayerData/Handlers/PairHandler.cs b/MareSynchronos/PlayerData/Handlers/PairHandler.cs index d12a347..46934fd 100644 --- a/MareSynchronos/PlayerData/Handlers/PairHandler.cs +++ b/MareSynchronos/PlayerData/Handlers/PairHandler.cs @@ -725,7 +725,7 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase if (!IsVisible && nowVisible) { - // This is deferred application attempt, avoid any log output + // This is a deferred application attempt, avoid any repeat log output if (_deferred != Guid.Empty) { _isVisible = true; @@ -733,6 +733,7 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase { ApplyCharacterData(_deferred, _cachedData!, forceApplyCustomization: true); }); + return; } IsVisible = true; diff --git a/MareSynchronos/Services/VisibilityService.cs b/MareSynchronos/Services/VisibilityService.cs index 2731c17..3be2884 100644 --- a/MareSynchronos/Services/VisibilityService.cs +++ b/MareSynchronos/Services/VisibilityService.cs @@ -77,7 +77,7 @@ public class VisibilityService : DisposableMediatorSubscriberBase if (player.Value == TrackedPlayerStatus.NotVisible && isVisible) { - if (_makeVisibleNextFrame.Contains(ident)) + if (_makeVisibleNextFrame.Contains(ident, StringComparer.Ordinal)) { if (_trackedPlayerVisibility.TryUpdate(ident, newValue: TrackedPlayerStatus.Visible, comparisonValue: TrackedPlayerStatus.NotVisible)) Mediator.Publish(new(ident, IsVisible: true));