hcengineering/platform · info

Unsupported entry type, skipping:

Error message

Unsupported entry type, skipping: 

What it means

skip() is the fallback handler invoked when the Notion importer encounters an entry whose type it does not support. It logs 'Unsupported entry type, skipping: ' plus the entry's docMeta and returns without importing anything. The entry is omitted from the import result.

Source

Thrown at packages/importer/src/notion/notion.ts:586

    node.attrs = {
      'file-id': meta.id,
      src: fileUrl,
      width: node.attrs.width ?? null,
      height: node.attrs.height ?? null,
      align: node.attrs.align ?? null,
      alt: meta.name,
      title: meta.name
    }
    const mimeType = getContentType(meta.name)
    if (mimeType !== undefined) {
      node.attrs['data-file-type'] = mimeType
    }
  }
}

async function skip (...args: any): Promise<void> {
  const docMeta = args[5]
  console.warn('Unsupported entry type, skipping: ', docMeta)
}

function isExternalLink (href: any): boolean {
  return URL.canParse(href)
}

function safeDecodeURI (uri: string): string {
  try {
    return decodeURI(uri)
  } catch (e) {
    return uri
  }
}

function extractNotionId (fileName: string): string | undefined {
  const decoded = safeDecodeURI(fileName).trimEnd()
  const matched = decoded.match(/ ([\w\d]{32}(_all)?)(\.|$)/)
  return matched !== null && matched.length >= 2 ? matched[1] : undefined

View on GitHub (pinned to 63e28dc964)

Solutions

  1. Identify the skipped type from the logged docMeta and add a handler for it in the importer dispatch.
  2. Exclude unsupported entry types from the import selection if they are not needed.
  3. Upgrade the importer package to a version supporting the entry type.
  4. If the skipped content is required, convert it manually in Notion to a supported type (e.g. page) before import.

Example fix

// before
async function skip (...args: any): Promise<void> {
  const docMeta = args[5]
  console.warn('Unsupported entry type, skipping: ', docMeta)
}
// after
async function skip (...args: any): Promise<void> {
  const docMeta = args[5]
  console.warn('Unsupported entry type, skipping: ', docMeta)
  skippedEntries.push(docMeta) // report afterwards instead of silently dropping
}
Defensive patterns

Strategy: fallback

Validate before calling

// Pre-import: filter out entry types the importer does not support
const supported = new Set(['page', 'database'])
const unsupported = entries.filter(e => !supported.has(e.type))
if (unsupported.length > 0) console.warn('Will be skipped:', unsupported.map(e => e.type))

Type guard

function isSupportedEntry (entry: { type: string }, supported: Set<string>): entry is { type: string } & Record<string, unknown> {
  return supported.has(entry.type)
}

Prevention

When it happens

Trigger: importPageDocument walks the Notion export and dispatches entries by type; an unknown/unhandled entry type routes to skip(), passing docMeta as args[5].

Common situations: New Notion block/database types not yet supported by the importer; unusual page types (databases, linked databases, widgets) inside an imported tree; importer version lagging behind Notion export format changes.

Related errors


AI-assisted analysis of hcengineering/platform@63e28dc964 (2026-08-29). Data as JSON: /api/errors/6f35c14325c20c25. Report an issue: GitHub.