toeverything/AFFiNE · error · WebImportLimitError

This import contains a nested zip. Please import it in the d

Error message

This import contains a nested zip. Please import it in the desktop client.

What it means

WebImportLimitError thrown in preflightWebZipImport when an entry is a .zip and nested zips are disallowed (maxNestedZipDepth 0). The web importer cannot recurse into nested archives; desktop is required.

Source

Thrown at packages/frontend/core/src/desktop/dialogs/import/web-limits.ts:60

    isWebImportDocument(entry.name)
  ).length;
  if (documentCount > limits.maxDocumentCount) {
    throw new WebImportLimitError(
      'This import has too many documents for the web app. Please import it in the desktop client.'
    );
  }

  for (const entry of entries) {
    if (entry.uncompressedSize > limits.maxEntryBytes) {
      throw new WebImportLimitError(
        'This import contains a file that is too large for the web app. Please import it in the desktop client.'
      );
    }
    if (
      limits.maxNestedZipDepth === 0 &&
      entry.name.toLowerCase().endsWith('.zip')
    ) {
      throw new WebImportLimitError(
        'This import contains a nested zip. Please import it in the desktop client.'
      );
    }
  }
}

export async function preflightWebFilesImport(
  files: File[],
  limits = webImportLimits
) {
  const totalBytes = files.reduce((total, file) => total + file.size, 0);
  if (totalBytes > limits.maxTotalBytes) {
    throw new WebImportLimitError(
      'This import is too large for the web app. Please import it in the desktop client.'
    );
  }
  if (files.length > limits.maxEntryCount) {
    throw new WebImportLimitError(

View on GitHub (pinned to b4c8548c09)

Solutions

  1. Extract the nested zip first, then import the inner archive.
  2. Use the desktop client which supports nested archives.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown by preflightWebZipImport or preflightWebFilesImport when an entry name ends with .zip while maxNestedZipDepth is 0, i.e. a zip inside the import is not allowed on web.

Common situations: Happens when the import bundle itself contains zip files. Extract them first or import the bundle in the desktop client.


AI-assisted analysis of toeverything/AFFiNE@b4c8548c09 (2026-08-18). Data as JSON: /api/errors/af4dd8ed932acdbb. Report an issue: GitHub.