overleaf/overleaf · error
error flushing tranferred projects to TPDS
Error message
error flushing tranferred projects to TPDS
What it means
Background error in CollaboratorsHandler.transferProjects: after ownership was transferred in mongo, the fire-and-forget _flushProjects call failed to flush the affected projects to TPDS (third-party dropbox integration). The transfer itself already succeeded — only the deferred TPDS sync for those projectIds failed, risking stale TPDS state until the next sync.
Source
Thrown at services/web/app/src/Features/Collaborators/CollaboratorsHandler.mjs:268
}
).exec()
await Project.updateMany(
{ pendingReviewer_refs: fromUserId },
{
$addToSet: { pendingReviewer_refs: toUserId },
}
).exec()
await Project.updateMany(
{ pendingReviewer_refs: fromUserId },
{
$pull: { pendingReviewer_refs: fromUserId },
}
).exec()
// Flush in background, no need to block on this
_flushProjects(projectIds).catch(err => {
logger.err(
{ err, projectIds, fromUserId, toUserId },
'error flushing tranferred projects to TPDS'
)
})
}
async function setCollaboratorPrivilegeLevel(
projectId,
userId,
privilegeLevel,
{ pendingEditor, pendingReviewer } = {},
auditInfo = {}
) {
AsyncLocalStorage.removeItem(`projectAccess:${projectId}`)
// Make sure we're only updating the project if the user is already a
// collaborator
const query = {
_id: projectId,View on GitHub (pinned to 28ad3b03b7)
Solutions
- Trigger a manual TPDS flush/resync for the logged projectIds
- Check TPDS worker health and the underlying err for the flush failure
- Retry project transfer flushes with backoff from a queue instead of fire-and-forget
- Verify TPDS state for affected projects after recovery
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at services/web/app/src/Features/Collaborators/CollaboratorsHandler.mjs:268 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of overleaf/overleaf@28ad3b03b7 (2026-09-03).
Data as JSON: /api/errors/f81958c01662fec0.
Report an issue: GitHub.