actualbudget/actual · error

validateSyncedFile error message (dynamic)

Error message

validateSyncedFile error message (dynamic)

What it means

Error "validateSyncedFile error message (dynamic)" thrown in actualbudget/actual.

Source

Thrown at packages/sync-server/src/app-sync.ts:186

    filesService,
    res,
    'file-not-found',
  );

  if (!currentFile) {
    return;
  }

  const fileAccessError = requireFileAccess(currentFile, res.locals.user_id);
  if (fileAccessError) {
    res.status(403);
    res.send(fileAccessError);
    return;
  }

  const errorMessage = validateSyncedFile(groupId, keyId, currentFile);
  if (errorMessage) {
    res.status(400);
    res.send(errorMessage);
    return;
  }

  const { trie, newMessages } = simpleSync.sync(messages, since, groupId);

  const responsePb = create(SyncResponseSchema, {
    merkle: JSON.stringify(trie),
    messages: newMessages,
  });

  res.set('Content-Type', 'application/actual-sync');
  res.set('X-ACTUAL-SYNC-METHOD', 'simple');
  res.send(Buffer.from(toBinary(SyncResponseSchema, responsePb)));
});

app.post('/user-get-key', (req, res) => {
  if (!res.locals) return;

View on GitHub (pinned to d4334cb6e6)

When it happens

Trigger: Thrown at packages/sync-server/src/app-sync.ts:186 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of actualbudget/actual@d4334cb6e6 (2026-08-29). Data as JSON: /api/errors/946dd5016c053ff2. Report an issue: GitHub.