siyuan-note/siyuan · error
unsupported version
Error message
unsupported version
What it means
Thrown during profile import when the file's version field fails isEntryVisibilityImportVersionSupported against ENTRY_VISIBILITY_VERSION — the JSON parsed fine but was written by an incompatible entry-visibility schema version, and importing it could corrupt persisted visibility/order configuration.
Solutions
- Re-export the profiles from a SiYuan version whose ENTRY_VISIBILITY_VERSION matches this build
- Manually adjust the file's version field only if the schema is known to be compatible
- Check for a SiYuan update that supports the file's version
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/src/config/entryVisibility/ui.ts:902 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of siyuan-note/siyuan@9f775e8a12 (2026-09-19).
Data as JSON: /api/errors/887f07efb3d78987.
Report an issue: GitHub.
Appendix: source
Thrown at app/src/config/entryVisibility/ui.ts:902
saveEntryVisibility(config);
renderProfileCards(root);
leaveEditor();
}
});
const nameInput = view.querySelector<HTMLInputElement>("[data-profile-field='name']");
if (creating && nameInput) {
nameInput.select();
}
};
const importProfiles = async (root: HTMLElement, file: File) => {
if (!getHostCapabilities().importExport) {
return;
}
try {
const data = JSON.parse(await file.text()) as TImportFile;
if (!isEntryVisibilityImportVersionSupported(data.version, ENTRY_VISIBILITY_VERSION)) {
throw new Error("unsupported version");
}
let imported: TEntryVisibilityImportProfile[];
if (data.type === "siyuan-entry-profile" && data.profile) {
imported = [data.profile];
} else if (data.type === "siyuan-entry-profile-bundle" && Array.isArray(data.profiles)) {
imported = data.profiles;
} else {
throw new Error("invalid type");
}
const config = cloneConfig();
let importedCount = 0;
imported.forEach((item) => {
const profile = normalizeEntryVisibilityImportProfile(item, data.version, createEntryOrderSnapshot());
if (!profile) {
return;
}
config.profiles.push({
id: genUUID(),View on GitHub (pinned to 9f775e8a12)