do not send forbidden files

This commit is contained in:
rootdarkarchon
2023-02-23 00:51:01 +01:00
parent b1a7afde27
commit 78f0df9eaf
2 changed files with 8 additions and 6 deletions

View File

@@ -132,11 +132,12 @@ public class CharacterDataFactory : MediatorSubscriberBase
// wait until chara is not drawing and present so nothing spontaneously explodes
_dalamudUtil.WaitWhileCharacterIsDrawing(_logger, playerRelatedObject, Guid.NewGuid(), 30000, ct: token);
var chara = _dalamudUtil.CreateGameObject(charaPointer)!;
while (!DalamudUtil.IsObjectPresent(chara))
int totalWaitTime = 10000;
while (!DalamudUtil.IsObjectPresent(_dalamudUtil.CreateGameObject(charaPointer)) && totalWaitTime > 0)
{
_logger.LogTrace("Character is null but it shouldn't be, waiting");
await Task.Delay(50).ConfigureAwait(false);
totalWaitTime -= 50;
}
Stopwatch st = Stopwatch.StartNew();

View File

@@ -261,7 +261,7 @@ public partial class ApiController
foreach (var dto in downloadFileInfoFromService.Where(c => c.IsForbidden))
{
if (ForbiddenTransfers.All(f => !string.Equals(f.Hash, dto.Hash, StringComparison.Ordinal)))
if (!ForbiddenTransfers.Any(f => string.Equals(f.Hash, dto.Hash, StringComparison.Ordinal)))
{
ForbiddenTransfers.Add(new DownloadFileTransfer(dto));
}
@@ -467,9 +467,10 @@ public partial class ApiController
{
_logger.LogInformation("Pushing character data for " + character.DataHash.Value + " to " + string.Join(", ", visibleCharacters.Select(c => c.AliasOrUID)));
StringBuilder sb = new();
foreach (var item in character.FileReplacements)
foreach (var kvp in character.FileReplacements.ToList())
{
sb.AppendLine($"FileReplacements for {item.Key}: {item.Value.Count}");
sb.AppendLine($"FileReplacements for {kvp.Key}: {kvp.Value.Count}");
character.FileReplacements[kvp.Key].RemoveAll(i => ForbiddenTransfers.Any(f => string.Equals(f.Hash, i.Hash, StringComparison.OrdinalIgnoreCase)));
}
foreach (var item in character.GlamourerData)
{