@@ -248,12 +248,16 @@ void Start(TimeSpan maxWaitTime)
248248 _log . Warn ( ExcessiveInitWaitTimeWarning , maxWaitTime , ExcessiveInitWaitTime ) ;
249249 }
250250
251- var success = AsyncUtils . WaitSafely ( ( ) => _connectionManager . Start ( ) , maxWaitTime ) ;
251+ var success = AsyncUtils . WaitSafely ( async ( ) =>
252+ {
253+ await RecordIdentify ( _context , maxWaitTime ) ;
254+ await _connectionManager . Start ( ) ;
255+ } , maxWaitTime ) ;
256+
252257 if ( ! success )
253258 {
254259 _log . Warn ( DidNotInitializeTimelyWarning , maxWaitTime . TotalMilliseconds ) ;
255260 }
256- _ = RecordIdentify ( _context , maxWaitTime ) ;
257261 }
258262
259263 /// <summary>
@@ -270,22 +274,26 @@ async Task StartAsync(TimeSpan maxWaitTime)
270274 maxWaitTime , ExcessiveInitWaitTime ) ;
271275 }
272276
273- var startTask = _connectionManager . Start ( ) ;
274- var completedTask = await Task . WhenAny ( startTask , Task . Delay ( maxWaitTime ) ) ;
275- if ( completedTask != startTask )
277+ var combinedTask = Task . Run ( async ( ) =>
278+ {
279+ await RecordIdentify ( _context , maxWaitTime ) ;
280+ await _connectionManager . Start ( ) ;
281+ } ) ;
282+
283+ var completedTask = await Task . WhenAny ( combinedTask , Task . Delay ( maxWaitTime ) ) ;
284+ if ( completedTask != combinedTask )
276285 {
277286 _log . Warn ( DidNotInitializeTimelyWarning , maxWaitTime . TotalMilliseconds ) ;
278287 }
279- await RecordIdentify ( _context , maxWaitTime ) ;
280288 }
281289
282290 /// <summary>
283291 /// Starts the client and waits to initialize feature flags. If offline, returns immediately.
284292 /// </summary>
285293 async Task StartAsync ( )
286294 {
287- await _connectionManager . Start ( ) ;
288295 await RecordIdentify ( _context , TimeSpan . Zero ) ;
296+ await _connectionManager . Start ( ) ;
289297 }
290298
291299 /// <summary>
0 commit comments