Add adaptive packet loss handling
Build and test / test (macos-latest) (push) Canceled after 0s
Build and test / test (ubuntu-24.04) (push) Canceled after 0s
Build and test / test (windows-latest) (push) Canceled after 0s
Build and test / apple-client (push) Canceled after 0s

This commit is contained in:
2026-09-22 16:54:49 +02:00
parent 7c4708c3de
commit 7b0c003ad4
35 changed files with 518 additions and 60 deletions
+9 -4
View File
@@ -1,5 +1,6 @@
using Microsoft.Data.Sqlite;
using VoiceCat.Server.Data;
using Voicecat.V1;
namespace VoiceCat.Tests;
@@ -56,7 +57,7 @@ public sealed class AccountStoreTests
}
[Fact]
public void VersionTwoDatabaseMigratesDredAsDisabled()
public void VersionTwoDatabaseMigratesDredAndAdaptiveLossAsDisabled()
{
string directory = Path.Combine(Path.GetTempPath(), "voicecat-v2-" + Guid.NewGuid().ToString("N"));
Directory.CreateDirectory(directory);
@@ -68,18 +69,22 @@ public sealed class AccountStoreTests
{
connection.Open();
using var command = connection.CreateCommand();
command.CommandText = "ALTER TABLE channels DROP COLUMN audio_dred; UPDATE server_meta SET value='2' WHERE key='schema_version';";
command.CommandText = "ALTER TABLE channels DROP COLUMN audio_dred; ALTER TABLE channels DROP COLUMN audio_packet_loss_mode; UPDATE server_meta SET value='2' WHERE key='schema_version';";
command.ExecuteNonQuery();
}
using (var migrated = new AccountStore(path))
Assert.All(migrated.LoadChannels(), channel => Assert.False(channel.Audio.Dred));
Assert.All(migrated.LoadChannels(), channel =>
{
Assert.False(channel.Audio.Dred);
Assert.Equal(PacketLossMode.PacketLossManual, channel.Audio.PacketLossMode);
});
using var verify = new SqliteConnection(new SqliteConnectionStringBuilder { DataSource = path, Pooling = false }.ToString());
verify.Open();
using var query = verify.CreateCommand();
query.CommandText = "SELECT value FROM server_meta WHERE key='schema_version'";
Assert.Equal("3", query.ExecuteScalar());
Assert.Equal("4", query.ExecuteScalar());
}
finally { Directory.Delete(directory, true); }
}