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] : undefinedView on GitHub (pinned to 63e28dc964)
Solutions
- Identify the skipped type from the logged docMeta and add a handler for it in the importer dispatch.
- Exclude unsupported entry types from the import selection if they are not needed.
- Upgrade the importer package to a version supporting the entry type.
- 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
- Keep the importer updated for new Notion block types.
- Convert unsupported types in Notion before importing.
- Aggregate skipped entries into an import report rather than dropping silently.
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
- Linked page not found (outside of this import):
- Attachment not found:
- Teamspace not found for document: ${docMeta.name}
- Importing folder entry is not supported: ${fileMeta.fileName
- DB file not found: ${docMeta.name}
AI-assisted analysis of hcengineering/platform@63e28dc964 (2026-08-29).
Data as JSON: /api/errors/6f35c14325c20c25.
Report an issue: GitHub.