Fixing UI thread issues with bulk operations and request queue refactoring.

This commit is contained in:
Burak Kaan Köse
2026-04-20 02:18:23 +02:00
parent 3bd0b69429
commit 54148716bb
38 changed files with 1644 additions and 206 deletions
@@ -27,10 +27,10 @@ public sealed class MailRequestStateTests
request.RevertUIChanges();
mailCopy.IsRead.Should().BeFalse();
recipient.Updated.Should().HaveCount(2);
recipient.Updated[0].Source.Should().Be(EntityUpdateSource.ClientUpdated);
recipient.Updated[1].Source.Should().Be(EntityUpdateSource.ClientReverted);
recipient.Updated[1].UpdatedMail.IsRead.Should().BeFalse();
recipient.StateUpdates.Should().HaveCount(2);
recipient.StateUpdates[0].Source.Should().Be(EntityUpdateSource.ClientUpdated);
recipient.StateUpdates[1].Source.Should().Be(EntityUpdateSource.ClientReverted);
recipient.StateUpdates[1].UpdatedState.IsRead.Should().BeFalse();
}
finally
{
@@ -55,10 +55,10 @@ public sealed class MailRequestStateTests
request.RevertUIChanges();
mailCopy.IsFlagged.Should().BeFalse();
recipient.Updated.Should().HaveCount(2);
recipient.Updated[0].Source.Should().Be(EntityUpdateSource.ClientUpdated);
recipient.Updated[1].Source.Should().Be(EntityUpdateSource.ClientReverted);
recipient.Updated[1].UpdatedMail.IsFlagged.Should().BeFalse();
recipient.StateUpdates.Should().HaveCount(2);
recipient.StateUpdates[0].Source.Should().Be(EntityUpdateSource.ClientUpdated);
recipient.StateUpdates[1].Source.Should().Be(EntityUpdateSource.ClientReverted);
recipient.StateUpdates[1].UpdatedState.IsFlagged.Should().BeFalse();
}
finally
{
@@ -76,10 +76,10 @@ public sealed class MailRequestStateTests
IsFlagged = isFlagged
};
internal sealed class MailRequestRecipient : IRecipient<MailUpdatedMessage>
internal sealed class MailRequestRecipient : IRecipient<MailStateUpdatedMessage>
{
public List<MailUpdatedMessage> Updated { get; } = [];
public List<MailStateUpdatedMessage> StateUpdates { get; } = [];
public void Receive(MailUpdatedMessage message) => Updated.Add(message);
public void Receive(MailStateUpdatedMessage message) => StateUpdates.Add(message);
}
}