MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / pollDailyTask

Function pollDailyTask

deployments/desktop/static/desktop.js:2351–2374  ·  view source on GitHub ↗
(taskId, immediatePush = null, userId = currentUser(), pollToken = state.dailyPollToken)

Source from the content-addressed store, hash-verified

2349 }
2350
2351 async function pollDailyTask(taskId, immediatePush = null, userId = currentUser(), pollToken = state.dailyPollToken) {
2352 if (!taskId) {
2353 renderPush(immediatePush || { papers: [], metadata: { total_fetched: 0, paper_count: 0 } });
2354 await loadWiki();
2355 return;
2356 }
2357 setDailyTaskState(taskId, userId, true);
2358 while (pollToken === state.dailyPollToken) {
2359 const data = await api(`/api/daily/status?task_id=${encodeURIComponent(taskId)}&user_id=${encodeURIComponent(userId)}`);
2360 if (pollToken !== state.dailyPollToken || currentUser() !== userId) return;
2361 const task = data.task;
2362 if (!task) break;
2363 if (task.status === "completed") {
2364 renderPush(task.push || { papers: [], metadata: { total_fetched: 0, paper_count: 0 } });
2365 await loadWiki();
2366 return;
2367 }
2368 if (task.status === "failed") {
2369 throw new Error(task.error || ui().papers.pullFailed);
2370 }
2371 renderDailyTaskStatus(task);
2372 await new Promise((resolve) => window.setTimeout(resolve, 900));
2373 }
2374 }
2375
2376 async function resumeDailyTask() {
2377 if (state.dailyPolling) return;

Callers 2

runDailyFunction · 0.85
resumeDailyTaskFunction · 0.85

Calls 7

currentUserFunction · 0.85
loadWikiFunction · 0.85
setDailyTaskStateFunction · 0.85
uiFunction · 0.85
renderDailyTaskStatusFunction · 0.85
renderPushFunction · 0.70
apiFunction · 0.70

Tested by

no test coverage detected