@@ -37,21 +37,31 @@ protected override void Handle(VersionCheckRequest command)
3737
3838 var clientVersion = command ? . Version ;
3939 var serverVersion = CompatibilityChecker . LocalVersion ;
40- var versionsMatch = CompatibilityChecker . CompareVersions ( clientVersion , serverVersion ) ;
41- var status = versionsMatch ? "Match" : "Mismatch" ;
40+ string comparisonStatus ;
41+ string comparisonSeverity ;
42+ var versionsMatch = CompatibilityChecker . CompareVersions (
43+ clientVersion ,
44+ serverVersion ,
45+ out comparisonStatus ,
46+ out comparisonSeverity ) ;
4247
4348 Log . Info (
4449 LogCategory . Network ,
45- "Client version comparison | senderId={0} clientVersion={1} serverVersion={2} status={3}" ,
50+ "Client version comparison | senderId={0} clientVersion={1} serverVersion={2} status={3} severity={4} " ,
4651 senderId ,
4752 clientVersion ?? "<null>" ,
4853 serverVersion ?? "<null>" ,
49- status ) ;
54+ comparisonStatus ,
55+ comparisonSeverity ?? "<null>" ) ;
56+
57+ CompatibilityChecker . HandleAutomaticServerHandshakeObservation (
58+ senderId ,
59+ clientVersion ,
60+ serverVersion ) ;
5061
5162 if ( ! versionsMatch )
5263 {
5364 VersionMismatchNotifier . NotifyServerMismatch ( senderId , clientVersion , serverVersion ) ;
54- FeatureBootstrapper . SuspendForVersionMismatch ( clientVersion ) ;
5565 var shouldBroadcast = command == null || ! command . IsManualCheck ;
5666 if ( shouldBroadcast )
5767 {
@@ -79,23 +89,23 @@ protected override void Handle(VersionCheckRequest command)
7989
8090 try
8191 {
82- CsmBridge . SendToClient ( senderId , new VersionCheckResponse
92+ CsmBridge . SendToAll ( new VersionCheckResponse
8393 {
8494 Version = serverVersion ,
8595 IsManualCheck = command != null && command . IsManualCheck ,
8696 RequestId = command ? . RequestId
8797 } ) ;
8898 Log . Info (
8999 LogCategory . Network ,
90- "Version check response sent | targetId={0} version={1} manual={2} requestId={3}" ,
100+ "Version check response broadcast sent | targetId={0} version={1} manual={2} requestId={3}" ,
91101 senderId ,
92102 serverVersion ?? "<null>" ,
93103 command != null && command . IsManualCheck ? "Yes" : "No" ,
94104 command ? . RequestId ?? "<null>" ) ;
95105 }
96106 catch ( Exception ex )
97107 {
98- Log . Warn ( LogCategory . Network , LogRole . General , "Failed to send version check response | targetId={0} error={1}" , senderId , ex ) ;
108+ Log . Warn ( LogCategory . Network , LogRole . General , "Failed to broadcast version check response | targetId={0} error={1}" , senderId , ex ) ;
99109 }
100110 }
101111 }
@@ -121,15 +131,23 @@ protected override void Handle(VersionCheckResponse command)
121131
122132 var serverVersion = command ? . Version ;
123133 var localVersion = CompatibilityChecker . LocalVersion ;
124- var versionsMatch = CompatibilityChecker . CompareVersions ( serverVersion , localVersion ) ;
125- var status = versionsMatch ? "Match" : "Mismatch" ;
134+ string comparisonStatus ;
135+ string comparisonSeverity ;
136+ var versionsMatch = CompatibilityChecker . CompareVersions (
137+ serverVersion ,
138+ localVersion ,
139+ out comparisonStatus ,
140+ out comparisonSeverity ) ;
126141
127142 Log . Info (
128143 LogCategory . Network ,
129- "Server version comparison | serverVersion={0} localVersion={1} status={2}" ,
144+ "Server version comparison | serverVersion={0} localVersion={1} status={2} severity={3} " ,
130145 serverVersion ?? "<null>" ,
131146 localVersion ?? "<null>" ,
132- status ) ;
147+ comparisonStatus ,
148+ comparisonSeverity ?? "<null>" ) ;
149+
150+ CompatibilityChecker . HandleAutomaticClientHandshakeResult ( localVersion , serverVersion ) ;
133151
134152 if ( ! versionsMatch )
135153 {
@@ -145,7 +163,6 @@ protected override void Handle(VersionCheckResponse command)
145163 VersionMismatchNotifier . NotifyClientMismatch ( serverVersion , localVersion ) ;
146164 }
147165
148- FeatureBootstrapper . SuspendForVersionMismatch ( serverVersion ) ;
149166 return ;
150167 }
151168
@@ -164,6 +181,12 @@ public class VersionProbeRequestHandler : CommandHandler<VersionProbeRequest>
164181 protected override void Handle ( VersionProbeRequest command )
165182 {
166183 var senderId = CsmBridge . GetSenderId ( command ) ;
184+ Log . Info (
185+ LogCategory . Network ,
186+ "Version probe request received | senderId={0} requestId={1} hostVersion={2}" ,
187+ senderId ,
188+ command ? . RequestId ?? "<null>" ,
189+ command ? . HostVersion ?? "<null>" ) ;
167190 if ( CsmBridge . IsServerInstance ( ) )
168191 {
169192 Log . Debug ( LogCategory . Network , LogRole . General , "Version probe request ignored | reason=server_instance senderId={0}" , senderId ) ;
@@ -182,6 +205,14 @@ protected override void Handle(VersionProbeRequest command)
182205 ClientVersion = localVersion ,
183206 MatchesHost = matches
184207 } ) ;
208+ Log . Info (
209+ LogCategory . Network ,
210+ LogRole . Client ,
211+ "Version probe response sent | requestId={0} clientVersion={1} hostVersion={2} matchesHost={3}" ,
212+ command ? . RequestId ?? "<null>" ,
213+ localVersion ?? "<null>" ,
214+ hostVersion ?? "<null>" ,
215+ matches ? "Yes" : "No" ) ;
185216 }
186217 catch ( Exception ex )
187218 {
@@ -207,6 +238,14 @@ protected override void Handle(VersionProbeResponse command)
207238 }
208239
209240 var senderId = CsmBridge . GetSenderId ( command ) ;
241+ Log . Info (
242+ LogCategory . Network ,
243+ LogRole . Host ,
244+ "Version probe response received | senderId={0} requestId={1} clientVersion={2} matchesHost={3}" ,
245+ senderId ,
246+ command ? . RequestId ?? "<null>" ,
247+ command ? . ClientVersion ?? "<null>" ,
248+ command != null && command . MatchesHost ? "Yes" : "No" ) ;
210249 CompatibilityChecker . HandleManualHostProbeResponse (
211250 senderId ,
212251 command ? . RequestId ,
0 commit comments