feat: advance legacy UI behavior parity

This commit is contained in:
2026-07-18 10:18:29 +09:00
parent d7ec571343
commit 1302b1b92f
71 changed files with 11244 additions and 1153 deletions

View File

@@ -510,13 +510,10 @@ internal static class LegacySceneRuntimeFactory
"The foreign candle target is invalid.")
};
if (parts.Length != 3 ||
parts[0].Length is < 1 or > 64 ||
parts[0].Any(character => char.IsControl(character) || char.IsSurrogate(character)) ||
!LegacyNamedForeignStockRestoreService.IsCanonicalBoundSymbol(parts[0]) ||
parts[1].Length != 2 ||
parts[1].Any(character => character is < 'A' or > 'Z') ||
!string.Equals(parts[2], expectedType, StringComparison.Ordinal) ||
target == CandleMarketTarget.OverseasStock &&
parts[1] is not ("US" or "TW"))
!string.Equals(parts[2], expectedType, StringComparison.Ordinal))
{
throw new LegacySceneDataException(
"The foreign candle identity is invalid.");