Route Verse catalog compatibility through documents
This commit is contained in:
parent
fb4cf4f39a
commit
409ec57b02
2 changed files with 63 additions and 14 deletions
|
|
@ -9279,9 +9279,18 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
|
|||
"GetLatestAuthoritativeRunFrameAsync()",
|
||||
"GetObservedDaemonStateAsync()",
|
||||
"OpenRuntimeCatalog()",
|
||||
"private AetheriaClientState? _aetheriaState",
|
||||
"return Aetheria().Catalog.Latest()",
|
||||
"return _aetheriaState ??= CreateAetheriaStateFacade();",
|
||||
"GetPlayerSettingsAsync()",
|
||||
"Aetheria().Settings.Player.LatestAsync()",
|
||||
"Aetheria().Settings.VerseHost.LatestAsync()",
|
||||
"VerseHostSettingsAsync()",
|
||||
"AetheriaRuntimeLoadoutTemplatesDocument",
|
||||
"ReadRuntimeCatalogSnapshot()",
|
||||
"ReadLoadoutTemplatesDocument()",
|
||||
"ReadPlayerSettingsDocument()",
|
||||
"ReadVerseHostSettingsDocument()",
|
||||
"CreateEveSurfaceStateRefResolver(",
|
||||
"AetheriaRuntimeStateRefResolver.CreateEveSurfaceCultMeshStateRefResolver(",
|
||||
"SubmitDaemonCommandAsync(",
|
||||
|
|
@ -9323,6 +9332,23 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
|
|||
"AetheriaRuntimeVerseClient still routes Eve state-ref resolution through the file-backed compatibility reader.");
|
||||
}
|
||||
|
||||
var forbiddenClientCompatibilityStoreBypasses = new[]
|
||||
{
|
||||
"return Task.FromResult(AetheriaRuntimeCatalogStore.ReadPlayerSettings(StatePath));",
|
||||
"return Task.FromResult(AetheriaRuntimeCatalogStore.ReadVerseHostSettings(StatePath));",
|
||||
"() => Task.FromResult(OpenRuntimeCatalog())",
|
||||
"OpenRuntimeCatalog());"
|
||||
};
|
||||
var clientCompatibilityStoreBypassHits = forbiddenClientCompatibilityStoreBypasses
|
||||
.Where(symbol => client.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (clientCompatibilityStoreBypassHits.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"AetheriaRuntimeVerseClient compatibility reads still bypass managed typed catalog/settings documents: " +
|
||||
string.Join(", ", clientCompatibilityStoreBypassHits));
|
||||
}
|
||||
|
||||
if (client.Contains("public async Task<AetheriaRuntimeDaemonCommandEnvelope> SubmitDaemonCommandAsync(", StringComparison.Ordinal) ||
|
||||
client.Contains("public async Task<AetheriaRuntimeEveCommandEnvelope> SubmitEveCommandAsync(", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue