Close three validator gaps: savedqueries, AppModuleSiteMap, nested flow actions - #3
Merged
Conversation
added 7 commits
July 22, 2026 12:07
…p, nested flow actions)
…um + type at any depth)
…edquery extraction
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes three cases where the validators silently rejected or skipped real-export shapes, each verified against a real client solution export (712 customization XML files, 12 unpacked cloud flows) and shipped with a regression test.
dataverse-xml-lsp 2.2.0
<savedqueries>wrapper root — pac exports saved queries under a<savedqueries>wrapper, but the validator only knew the singular innersavedquery, so every exported saved-query file failed as an unknown root. Now the inner<savedquery>is extracted and validated againstFetch.xsd(indicative, like forms — the bundled schema lagslayoutxml/LocalizedNames).<AppModuleSiteMap>root — model-driven-app sitemaps export with this root; the inner<SiteMap>is now extracted and validated againstSiteMap.xsd(authoritative).**/SavedQueries/**/*.xml → Fetch.xsdassociation (from both the launcher shim and the VS Code wiring), which mis-fired on the<savedqueries>root.cloud-flow-json-lsp 2.1.0
Scope/If/Foreach/Switchrecursively (via adefinitions/action$ref), so a bogusrunAfterstatus or a missingtypeon a nested action is caught instead of passing silently. Top-level behaviour is unchanged.Testing
Not included (roadmap, see the design spec)
Fetch.xsdso saved queries validate authoritatively rather than indicatively.