microsoft / microsoft/PowerApps-Tooling
pac canvas unpack should identify duplicate property ownership behind PA3003
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 442
- Forks
- 124
- Avg merge
- 22h 38m
- Merged PRs (30d)
- 4
Description
Summary
pac canvas unpack reports PA3003 / PA3011 when a canvas package contains a duplicated control property emitted once as a normal rule and once through dynamic/source metadata. The error is actionable, but the diagnostics point only to generated YAML line numbers and do not identify the source control/property ownership conflict in the .msapp JSON.
This came up while round-tripping a Power Apps canvas app package that had a duplicate ZIndex property on a gallery template-derived control. The local remediation was to strip gallery-template ZIndex state before packing, but the tooling error was difficult to map back to source.
Environment
- pac version failed: Command '['pac', '--version']' returned non-zero exit status 1.
- Darwin JNPR-MAC-KH9J9F 25.4.0 Darwin Kernel Version 25.4.0: Thu Mar 19 19:33:25 PDT 2026; root:xnu-12377.101.15~1/RELEASE_ARM64_T6041 arm64
- Source format version observed by
pac canvas unpack:0.24 - App type: classic canvas app, exported/imported
.msapp
Expected behavior
The tooling should either emit a source-path/control-name/property diagnostic for duplicate property ownership before YAML generation, or normalize duplicate property ownership deterministically when one copy is metadata/dynamic state and the other is an ordinary rule.
Actual behavior
pac canvas unpack fails roundtrip validation with PA3003 and PA3011 and only reports generated YAML line numbers.
Full error log
'pac canvas unpack' and 'pac canvas pack' are deprecated, and will be removed in a future release.
Unpack from /Users/mhickok/Documents/LRE-Workbench/output/lre-workbench-remediations-view-download-20260527T082954Z/LRE-Workbench-remediations-view-download.msapp --> /Users/mhickok/Documents/LRE-Workbench/output/lre-workbench-remediations-view-download-20260527T082954Z/pac-unpack
source format version: 0.24
Microsoft PowerPlatform CLI
Version: 2.4.1+g3799f3e (.NET 10.0.5)
Online documentation: https://aka.ms/PowerPlatformCLI
Feedback, Suggestions, Issues: https://github.com/microsoft/powerplatform-build-tools/discussions
Error: Error PA3003: Parse error: Property was already defined on line 2911 and now on line 2912.
Error PA3011: Roundtrip validation on unpack failed.
You have found a bug; this is not a specific bug, rather an indicator that some bug has been encountered.
Please open an issue and log the entirety of this error log at https://github.com/microsoft/PowerApps-Language-Tooling
Contributor guide
No contributing guide indexed for this repository
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 by reproducing the reported PA3003 and PA3011 failure with pac canvas unpack on a package containing duplicate control-property ownership. Trace the unpack validation and generated YAML diagnostic path; done means the error identifies the source control and property conflict, or duplicate metadata handling is defined and covered by validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100