microsoft / microsoft/WinAppVSCE
[Bug]: Repeated extension child elements are ambiguous to edit in visual editor
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13
- Forks
- 3
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 11
Description
Description
When a manifest extension contains repeated child elements (e.g., multiple <uap:Task> nodes in windows.backgroundTasks), the visual editor's field parsing flattens them to identical labels like Task.Type without positional disambiguation.
When the user edits one of these duplicate fields, updateExtensionField resolves the edit by matching the first element with that name, always overwriting the first instance regardless of which one was actually changed.
Steps to reproduce
- Open a manifest with a
windows.backgroundTasksextension containing two<uap:Task>nodes - In the visual editor, edit the second
Task.Typefield - Observe that the first
<uap:Task>element is modified instead
Expected behavior
Each repeated element should have a unique identity in the field path (e.g., index-based or XPath-like), and edits should target the correct instance.
Context
Surfaced during PR review of #68. This behavior predates the IntelliSense PR — the parsing/editing logic for extension children has had this limitation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at updateExtensionField and trace the visual editor's field parsing for repeated extension children, reproducing the two-node windows.backgroundTasks case from the issue. Define a unique field identity for each repeated child and verify that editing the second Task.Type changes only that instance, without overwriting the first.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100