Skip to content

Commit df835fe

Browse files
committed
Clear stale inactivity warning on ready
1 parent f8647c5 commit df835fe

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

client/src/context/RaceContext.jsx

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)