diff --git a/src/app/components/generator/SchemaGenerator.tsx b/src/app/components/generator/SchemaGenerator.tsx index 9caddf00..4b587abe 100644 --- a/src/app/components/generator/SchemaGenerator.tsx +++ b/src/app/components/generator/SchemaGenerator.tsx @@ -67,7 +67,6 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) { } if (currentPreset) { text = await loadPreset(currentPreset) - ignoreChange.current = true } else if (sharedSnippetId) { const snippet = await getSnippet(sharedSnippetId) let cancel = false @@ -90,7 +89,6 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) { setSourceShown(false) } Analytics.openSnippet(gen.id, sharedSnippetId, version) - ignoreChange.current = true text = snippet.text } if (!service || !uri) { @@ -106,7 +104,9 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) { await service.writeFile(dependencyUri, dependency) } if (text !== undefined) { + ignoreChange.current = true await service.writeFile(uri, text) + ignoreChange.current = false } else { text = await service.readFile(uri) if (text === undefined) { @@ -115,7 +115,9 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) { await service.writeFile(uri, text) } } + ignoreChange.current = true const docAndNode = await service.openFile(uri) + ignoreChange.current = false Analytics.setGenerator(gen.id) return docAndNode }, [gen.id, version, sharedSnippetId, currentPreset, project.name, service, uri]) diff --git a/src/app/services/Spyglass.ts b/src/app/services/Spyglass.ts index bb8af60b..a19cb601 100644 --- a/src/app/services/Spyglass.ts +++ b/src/app/services/Spyglass.ts @@ -412,6 +412,7 @@ const initialize: core.ProjectInitializer = async (ctx) => { fields: Object.entries(properties).map(([propKey, propValues]) => ({ kind: 'pair', key: propKey, + optional: true, type: { kind: 'union', members: propValues.map(value => ({