chore: bug fix cleanup (#4)

This commit is contained in:
hampus-fluxer
2026-01-03 06:44:40 +01:00
committed by GitHub
parent 275126d61b
commit c9c5dceb47
80 changed files with 4639 additions and 3709 deletions

View File

@@ -117,6 +117,19 @@ function storePlaybackRate(rate: number): void {
} catch {}
}
const isAbortError = (error: unknown): boolean => {
if (!error || typeof error !== 'object') return false;
const name = (error as {name?: unknown}).name;
if (name === 'AbortError') return true;
const message = (error as {message?: unknown}).message;
return typeof message === 'string' && message.toLowerCase().includes('interrupted');
};
const normalizeError = (error: unknown): Error => {
if (error instanceof Error) return error;
return new Error(typeof error === 'string' ? error : 'Unknown media error');
};
export function useMediaPlayer(options: UseMediaPlayerOptions = {}): UseMediaPlayerReturn {
const {
autoPlay = false,
@@ -324,9 +337,16 @@ export function useMediaPlayer(options: UseMediaPlayerOptions = {}): UseMediaPla
try {
await media.play();
setState((prev) => ({...prev, error: null}));
} catch (error) {
console.error('Play failed:', error);
throw error;
if (isAbortError(error)) {
console.debug('Play interrupted before it could start:', error);
return;
}
const normalizedError = normalizeError(error);
console.error('Play failed:', normalizedError);
setState((prev) => ({...prev, error: normalizedError}));
}
}, []);