fix: allow progress requests

This commit is contained in:
2026-05-24 02:34:05 +02:00
parent c0606ef938
commit 4403301f72

View File

@@ -16,8 +16,6 @@ const sendBeacon = (payload: string) => {
return true;
};
const hasSessionCookie = (): boolean => document.cookie.includes('session_id=');
let saveProgressInFlight: Promise<void> | null = null;
/**
@@ -29,8 +27,6 @@ export const saveProgress = async (): Promise<void> => {
const request = (async (): Promise<void> => {
if (state.transitionEpisode !== null || !state.malID || state.video.currentTime < 1) return;
// progress is user-scoped; avoid spamming 401s for anonymous sessions
if (!hasSessionCookie()) return;
const episode = Number.parseInt(state.currentEpisode, 10);
if (!episode) return;
@@ -80,8 +76,6 @@ const scheduleProgressSave = (): void => {
*/
export const markEpisodeTransition = (episodeNumber: number): void => {
if (!state.malID || !episodeNumber) return;
// progress is user-scoped; avoid sending beacons for anonymous sessions
if (!hasSessionCookie()) return;
if (state.progressSaveTimer !== undefined) {
window.clearTimeout(state.progressSaveTimer);
state.progressSaveTimer = undefined;
@@ -124,7 +118,6 @@ export const setupProgress = (): void => {
// save on page close
window.addEventListener('beforeunload', () => {
if (state.transitionEpisode !== null || state.completionSent || !state.malID) return;
if (!hasSessionCookie()) return;
const episode = Number.parseInt(state.currentEpisode, 10);
if (!episode) return;
sendBeacon(buildPayload(episode, displayTimeFromAbsolute(state.video.currentTime)));