diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index ca0f86073..29a097260 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -571,6 +571,7 @@ require("anki/ui").loaded.then(() => require("anki/NoteEditor").instances[0].too js = f""" saveSession(); setFields({json.dumps(data)}); + setIsImageOcclusion({json.dumps(self.current_notetype_is_image_occlusion())}); setNotetypeMeta({json.dumps(notetype_meta)}); setCollapsed({json.dumps(collapsed)}); setPlainTexts({json.dumps(plain_texts)}); @@ -585,7 +586,6 @@ require("anki/ui").loaded.then(() => require("anki/NoteEditor").instances[0].too setShrinkImages({json.dumps(self.mw.col.get_config("shrinkEditorImages", True))}); setCloseHTMLTags({json.dumps(self.mw.col.get_config("closeHTMLTags", True))}); triggerChanges(); - setIsImageOcclusion({json.dumps(self.current_notetype_is_image_occlusion())}); """ if self.addMode: diff --git a/ts/editor/NoteEditor.svelte b/ts/editor/NoteEditor.svelte index 4e7318fa7..809658bd8 100644 --- a/ts/editor/NoteEditor.svelte +++ b/ts/editor/NoteEditor.svelte @@ -233,6 +233,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html if (sessionOptions[id]?.modTimeOfNotetype !== modTime) { delete sessionOptions[id]; } + if (isImageOcclusion) { + getImageOcclusionFields({ + notetypeId: BigInt(notetypeMeta.id), + }).then((r) => (ioFields = r.fields!)); + } } function getNoteId(): number | null { @@ -415,10 +420,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html async function setupMaskEditor(options: { html: string; mode: IOMode }) { imageOcclusionMode = undefined; - const getIoFields = getImageOcclusionFields({ - notetypeId: BigInt(notetypeMeta.id), - }).then((r) => (ioFields = r.fields!)); - await Promise.all([tick(), getIoFields]); + await tick(); imageOcclusionMode = options.mode; if (options.mode.kind === "add") { fieldStores[ioFields.image].set(options.html);