gonna break stuff now
Container image / image (push) Failing after 51s

This commit is contained in:
legop3
2026-09-24 18:36:24 -04:00
parent 8ca714cf1a
commit 7231809140
30 changed files with 292 additions and 388 deletions
+10
View File
@@ -0,0 +1,10 @@
import { useCallback } from 'react';
import { useSessionSelector } from '../context/SessionContext.jsx';
export default function useQueueUserLookup(turn, usersOverride) {
const localUsers = useSessionSelector((state) => state.session?.users);
const users = usersOverride || localUsers;
return useCallback((socketId) => users?.find((user) => user.socketId === socketId)
|| { socketId, nickname: turn?.userLabels?.[socketId] || null, role: null },
[users, turn?.userLabels]);
}
+28
View File
@@ -0,0 +1,28 @@
import { useCallback, useEffect, useRef, useState } from 'react';
import { RESTART_DELAY_MS } from '../components/RoverMediaPlayer/constants.js';
export default function useWhepRestart(enabled = true) {
const timer = useRef(null);
const enabledRef = useRef(enabled);
const [restartToken, setRestartToken] = useState(0);
const cancelRestart = useCallback(() => {
clearTimeout(timer.current);
timer.current = null;
}, []);
useEffect(() => {
enabledRef.current = enabled;
if (!enabled) cancelRestart();
}, [enabled, cancelRestart]);
const scheduleRestart = useCallback(() => {
if (!enabledRef.current) return;
cancelRestart();
// Re-negotiate instead of reusing the failed PeerConnection. Callers that
// own session requests also use this token to obtain fresh authorization.
timer.current = setTimeout(() => {
timer.current = null;
setRestartToken(Date.now());
}, RESTART_DELAY_MS);
}, [cancelRestart]);
useEffect(() => cancelRestart, [cancelRestart]);
return { restartToken, scheduleRestart, cancelRestart };
}