siyuan-note/siyuan · error
invalid profiles
Error message
invalid profiles
What it means
Thrown when normalization yields zero importable profiles: every item passed to normalizeEntryVisibilityImportProfile returned null (invalid entries, unknown order keys, or version-mismatched content), so importedCount stayed 0. The file has the right type/version envelope but contains no usable profile data.
Solutions
- Inspect the profiles array in the file for malformed entries
- Re-export the profile from a matching SiYuan version
- Import a single-profile file instead of a bundle if individual entries are corrupt
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at app/src/config/entryVisibility/ui.ts:928 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/30de22ad87d0d133.
Report an issue: GitHub.
Appendix: source
Thrown at app/src/config/entryVisibility/ui.ts:928
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(),
name: uniqueName(profile.name, config.profiles),
entries: profile.entries,
orders: profile.orders,
});
importedCount++;
});
if (imported.length > 0 && importedCount === 0) {
throw new Error("invalid profiles");
}
saveEntryVisibility(config);
renderProfileCards(root);
showMessage(window.siyuan.languages.imported);
} catch (error) {
console.warn("import entry visibility profile failed", error);
showMessage(window.siyuan.languages.entryImportInvalid, 6000, "error");
}
};
export const genEntryVisibilityHtml = () => `<div class="b3-label config-item" data-type="entry-visibility">
<div class="fn__flex">
<div><div class="config-name">${window.siyuan.languages.entryVisibility}</div><div class="b3-label__text">${isMobile() ? window.siyuan.languages.mobileToolbarEntryTip : window.siyuan.languages.entryVisibilityTip}</div></div>
<span class="fn__space fn__flex-1"></span>
${getHostCapabilities().importExport ? `<button class="b3-button b3-button--outline" data-action="import"><svg class="b3-button__icon"><use xlink:href="#iconDownload"></use></svg>${window.siyuan.languages.import}</button>
<span class="fn__space"></span>
<button class="b3-button b3-button--outline" data-action="export-all"><svg class="b3-button__icon"><use xlink:href="#iconUpload"></use></svg>${window.siyuan.languages.export}</button>
<span class="fn__space"></span>` : ""}View on GitHub (pinned to 9f775e8a12)