@@ -293,6 +293,18 @@ export const RaceProvider = ({ children }) => {
293293 } ;
294294
295295 const handlePlayersUpdate = ( data ) => {
296+ const currentUserReady = Boolean (
297+ user ?. netid && data . players ?. some ( player => player . netid === user . netid && player . ready )
298+ ) ;
299+
300+ if ( currentUserReady ) {
301+ setInactivityState ( prev => (
302+ prev . warning
303+ ? { ...prev , warning : false , warningMessage : '' }
304+ : prev
305+ ) ) ;
306+ }
307+
296308 setRaceState ( prev => {
297309 // For quick-match public races, if the race is already in progress, we want to keep
298310 // any players previously marked as disconnected even if they are no longer in the
@@ -360,6 +372,12 @@ export const RaceProvider = ({ children }) => {
360372 } ) ;
361373
362374 if ( shouldResetTyping ) {
375+ setInactivityState ( prev => (
376+ prev . warning
377+ ? { ...prev , warning : false , warningMessage : '' }
378+ : prev
379+ ) ) ;
380+
363381 // Reset typing state
364382 setTypingState ( {
365383 input : '' ,
@@ -657,7 +675,7 @@ export const RaceProvider = ({ children }) => {
657675 socket . off ( 'snippetNotFound' , handleSnippetNotFound ) ; // Cleanup snippet not found listener
658676 } ;
659677 // Add raceState.snippet?.id to dependency array to reset typing state on snippet change
660- } , [ socket , connected , raceState . type , raceState . manuallyStarted , raceState . snippet ?. id , resetAnticheatState ] ) ;
678+ } , [ socket , connected , raceState . type , raceState . manuallyStarted , raceState . snippet ?. id , resetAnticheatState , user ?. netid ] ) ;
661679
662680 // Methods for race actions
663681 const joinPracticeMode = ( ) => {
@@ -700,6 +718,11 @@ export const RaceProvider = ({ children }) => {
700718
701719 const setPlayerReady = ( ) => {
702720 if ( ! socket || ! connected ) return ;
721+ setInactivityState ( prev => (
722+ prev . warning
723+ ? { ...prev , warning : false , warningMessage : '' }
724+ : prev
725+ ) ) ;
703726 // console.log('Setting player ready...');
704727 socket . emit ( 'player:ready' ) ;
705728 } ;
0 commit comments