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

View File

@@ -261,7 +261,7 @@ public partial class ApiController
foreach (var dto in downloadFileInfoFromService.Where(c => c.IsForbidden)) 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)); ForbiddenTransfers.Add(new DownloadFileTransfer(dto));
} }
@@ -455,7 +455,7 @@ public partial class ApiController
} }
} }
foreach(var file in unverifiedUploadHashes.Where(c=>!CurrentUploads.Any(u=> string.Equals(u.Hash, c, StringComparison.Ordinal)))) foreach (var file in unverifiedUploadHashes.Where(c => !CurrentUploads.Any(u => string.Equals(u.Hash, c, StringComparison.Ordinal))))
{ {
_verifiedUploadedHashes[file] = DateTime.UtcNow; _verifiedUploadedHashes[file] = DateTime.UtcNow;
} }
@@ -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))); _logger.LogInformation("Pushing character data for " + character.DataHash.Value + " to " + string.Join(", ", visibleCharacters.Select(c => c.AliasOrUID)));
StringBuilder sb = new(); 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) foreach (var item in character.GlamourerData)
{ {