Skip to content

pac canvas unpack should identify duplicate property ownership behind PA3003 #803

@ghostlyd

Description

@ghostlyd

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




Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions